- char filename[PATH_MAX];
- snprintf(filename,PATH_MAX, "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
-
- FILE *fp = fopen(filename, "a");
-
- if(!fp) {
- logger(mesh, MESHLINK_ERROR, "Cannot open config file %s: %s", filename, strerror(errno));
- return false;
- }
-
- // Check if we don't add a duplicate entry
-
- char entry[MAX_STRING_SIZE];
- snprintf(entry, sizeof entry, "%s = %s", key, value);
-
- char buffer[MAX_STRING_SIZE];
- bool found = false;
-
- while(readline(fp, buffer, sizeof buffer)) {
- if(!strcmp(buffer, entry)) {
- found = true;
- break;
- }
- }
-
- // If not, append the new entry
-
- if(!found)
- fprintf(fp, "%s\n", entry);
-
- fclose(fp);
- return true;
+ return modify_config_file(mesh, name, key, value, false);