Minor fixes

pull/22/head
parent 3ac9cb3fed
commit 52f07a289e

@ -1344,6 +1344,7 @@ void *yon_config_get_all_by_key(char *key, int *size){
} }
return ret_data; return ret_data;
} }
return NULL;
} }
void *yon_config_get_all_by_key_no_ignored(char *key, int *size){ void *yon_config_get_all_by_key_no_ignored(char *key, int *size){
@ -1503,29 +1504,43 @@ config_str yon_config_load(char *command, int *str_len){
config_str yon_config_load_file(FILE *file, int *str_len) { config_str yon_config_load_file(FILE *file, int *str_len) {
FILE *output = file; FILE *output = file;
char **output_strings = NULL; char **output_strings = NULL;
output_strings = malloc(sizeof(char));
int i = 0; int i = 0;
char str[4096]; char str[4096];
memset(str, 0, 4096);
while (fgets(str, 4096, output)) output_strings = malloc(sizeof(char *));
{ if (!output_strings) {
if (strcmp(str, "") != 0) *str_len = -1;
{ return NULL;
output_strings = realloc(output_strings, sizeof(char *) * (i + 1)); }
output_strings[i] = NULL;
while (fgets(str, sizeof(str), output)) {
if (strcmp(str, "") != 0) {
output_strings[i] = yon_char_new(str); output_strings[i] = yon_char_new(str);
memset(str, 0, 4096); if (!output_strings[i]) {
i++; *str_len = -1;
for (int j = 0; j < i; j++) {
free(output_strings[j]);
} }
free(output_strings);
return NULL;
} }
if (i>0){ i++;
*str_len = i; output_strings = realloc(output_strings, sizeof(char *) * (i + 1));
return output_strings; if (!output_strings) {
} else{
*str_len = -1; *str_len = -1;
for (int j = 0; j < i; j++) {
free(output_strings[j]);
}
free(output_strings);
return NULL; return NULL;
} }
} }
}
*str_len = i;
return output_strings;
}
char *yon_config_parameter_to_string(yon_config_parameter *parameter, int insert_section){ char *yon_config_parameter_to_string(yon_config_parameter *parameter, int insert_section){
if (parameter){ if (parameter){

Loading…
Cancel
Save