char* value;
} config_value;
+void trim_key_whitespace_before(config_value* value)
+{
+ int before = 0;
+ while(value->key[before] == ' ') {
+ before++;
+ }
+
+ int new_length = value->key_length - before;
+ char* new_value = malloc(sizeof(char) * new_length);
+ memcpy(new_value, value->key + before, new_length);
+
+ free(value->key);
+ value->key = NULL;
+ value->key = new_value;
+ value->key_length = new_length;
+}
+
+void trim_key_whitespace_after(config_value* value)
+{
+ int after = 0;
+ while(value->key[after] != ' ') {
+ after++;
+ }
+
+ int new_length = after + 1;
+ char* new_value = malloc(sizeof(char) * new_length);
+ memcpy(new_value, value->key, new_length);
+ new_value[new_length - 1] = '\0';
+
+ free(value->key);
+ value->key = NULL;
+ value->key = new_value;
+ value->key_length = new_length;
+}
+
+void trim_key(config_value* value)
+{
+ trim_key_whitespace_before(value);
+ trim_key_whitespace_after(value);
+}
+
void trim_value_whitespace_before(config_value* value)
{
int before = 0;
char* new_value = malloc(sizeof(char) * new_length);
memcpy(new_value, value->value + before, new_length);
-
free(value->value);
value->value = NULL;
value->value = new_value;
value->value_length = new_length;
}
-void trim_value(config_value* value)
+void trim_config_value(config_value* value)
{
+ trim_key_whitespace_before(value);
+ trim_key_whitespace_after(value);
trim_value_whitespace_before(value);
trim_value_whitespace_after(value);
}
get_line(config_stream, &line);
get_key(&line, &value);
get_value(&line, &value);
- trim_value(&value);
+ trim_config_value(&value);
config->scanner_url = malloc(sizeof(char) * value.value_length);
memcpy(config->scanner_url, value.value, value.value_length);