diff options
Diffstat (limited to 'src/Config.c')
| -rw-r--r-- | src/Config.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Config.c b/src/Config.c index 4a93980..5cea724 100644 --- a/src/Config.c +++ b/src/Config.c @@ -46,11 +46,13 @@ int load_config(const char *filename, Config *config) { } char *value_end = value + strlen(value) - 1; - while (value_end > value && (*value_end == ' ' || *value_end == '\t')) { + while (value_end > value && (*value_end == ' ' || *value_end == '\t' || *value_end == '"' || *value_end == '\'')) { *value_end = '\0'; value_end--; } + while (*value == '"' || *value == '\'') value++; + if (strcmp(section, "server") == 0) { if (strcmp(key, "host") == 0) { strncpy(config->host, value, sizeof(config->host) - 1); @@ -58,6 +60,20 @@ int load_config(const char *filename, Config *config) { } else if (strcmp(key, "port") == 0) { config->port = atoi(value); } + } else if (strcmp(section, "proxy") == 0) { + if (strcmp(key, "proxy") == 0) { + strncpy(config->proxy, value, sizeof(config->proxy) - 1); + config->proxy[sizeof(config->proxy) - 1] = '\0'; + } else if (strcmp(key, "list_file") == 0) { + strncpy(config->proxy_list_file, value, sizeof(config->proxy_list_file) - 1); + config->proxy_list_file[sizeof(config->proxy_list_file) - 1] = '\0'; + } else if (strcmp(key, "max_retries") == 0) { + config->max_proxy_retries = atoi(value); + } else if (strcmp(key, "randomize_username") == 0) { + config->randomize_username = atoi(value); + } else if (strcmp(key, "randomize_password") == 0) { + config->randomize_password = atoi(value); + } } } } |
