logger(NULL, MESHLINK_ERROR, "Integer expected for configuration variable %s in %s line %d",
cfg->variable, cfg->file, cfg->line);
logger(NULL, MESHLINK_ERROR, "Integer expected for configuration variable %s in %s line %d",
cfg->variable, cfg->file, cfg->line);
char val_str[1024];
snprintf(val_str, sizeof(val_str), "%d", val);
char val_str[1024];
snprintf(val_str, sizeof(val_str), "%d", val);
len = strcspn(value, "\t =");
value += len;
value += strspn(value, "\t ");
len = strcspn(value, "\t =");
value += len;
value += strspn(value, "\t ");
- if(fwrite(cnf->variable, sizeof(char), strlen(cnf->variable), fp) < strlen(cnf->variable))
+ if(fwrite(cnf->variable, sizeof(char), strlen(cnf->variable), fp) < strlen(cnf->variable)) {
- if(fwrite(" = ", sizeof(char), 3, fp) < 3)
+ if(fwrite(" = ", sizeof(char), 3, fp) < 3) {
- if(fwrite(cnf->value, sizeof(char), strlen(cnf->value), fp) < strlen(cnf->value))
+ if(fwrite(cnf->value, sizeof(char), strlen(cnf->value), fp) < strlen(cnf->value)) {
- if(fwrite("\n", sizeof(char), 1, fp) < 1)
+ if(fwrite("\n", sizeof(char), 1, fp) < 1) {
- snprintf(filename, PATH_MAX,"%s" SLASH "meshlink.conf", mesh->confbase);
+ snprintf(filename, PATH_MAX, "%s" SLASH "meshlink.conf", mesh->confbase);
logger(mesh, MESHLINK_ERROR, "Failed to read `%s': %s", filename, strerror(errno));
logger(mesh, MESHLINK_ERROR, "Failed to read `%s': %s", filename, strerror(errno));
- snprintf(filename,PATH_MAX, "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
+ snprintf(filename, PATH_MAX, "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
bool write_host_config(struct meshlink_handle *mesh, const struct splay_tree_t *config_tree, const char *name) {
char filename[PATH_MAX];
bool write_host_config(struct meshlink_handle *mesh, const struct splay_tree_t *config_tree, const char *name) {
char filename[PATH_MAX];
- snprintf(filename,PATH_MAX, "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
+ snprintf(filename, PATH_MAX, "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
-bool modify_config_file(struct meshlink_handle *mesh, const char *name, const char *key, const char *value, bool replace) {
- assert(mesh && name && key && (replace || value));
+bool modify_config_file(struct meshlink_handle *mesh, const char *name, const char *key, const char *value, int trim) {
+ assert(mesh && name && key);
#ifdef HAVE_MINGW
char bakname[PATH_MAX];
snprintf(bakname, sizeof(bakname), "%s.bak", filename);
#ifdef HAVE_MINGW
char bakname[PATH_MAX];
snprintf(bakname, sizeof(bakname), "%s.bak", filename);
if(rename(filename, bakname) || rename(tmpname, filename)) {
rename(bakname, filename);
#else
if(rename(filename, bakname) || rename(tmpname, filename)) {
rename(bakname, filename);
#else
}
bool append_config_file(meshlink_handle_t *mesh, const char *name, const char *key, const char *value) {
}
bool append_config_file(meshlink_handle_t *mesh, const char *name, const char *key, const char *value) {
- return modify_config_file(mesh, name, key, value, false);
+ return modify_config_file(mesh, name, key, value, 0);