write_setting_s(sesskey, name, buf);
}
-void save_settings(char *section, int do_host, Config * cfg)
+char *save_settings(char *section, int do_host, Config * cfg)
{
void *sesskey;
+ char *errmsg;
- sesskey = open_settings_w(section);
+ sesskey = open_settings_w(section, &errmsg);
if (!sesskey)
- return;
+ return errmsg;
save_open_settings(sesskey, do_host, cfg);
close_settings_w(sesskey);
+ return NULL;
}
void save_open_settings(void *sesskey, int do_host, Config *cfg)
int len = strlen(otherbuf) + 1;
if (bufsize < buflen + len) {
bufsize = buflen + len + 2048;
- list->buffer = srealloc(list->buffer, bufsize);
+ list->buffer = sresize(list->buffer, bufsize, char);
}
strcpy(list->buffer + buflen, otherbuf);
buflen += strlen(list->buffer + buflen) + 1;
} while (ret);
enum_settings_finish(handle);
}
- list->buffer = srealloc(list->buffer, buflen + 1);
+ list->buffer = sresize(list->buffer, buflen + 1, char);
list->buffer[buflen] = '\0';
/*
p++;
}
- list->sessions = smalloc((list->nsessions + 1) * sizeof(char *));
+ list->sessions = snewn(list->nsessions + 1, char *);
list->sessions[0] = "Default Settings";
p = list->buffer;
i = 1;