X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fpreferences.c;h=36ec5c2408cd1e46c99eb00d2cba70628bd24fe6;hb=abeb8adc38f9d55fcb6cb3d076f57239b0a9a4d5;hp=86c8cde9e605b4934df4941c934357c7f08b3ed1;hpb=d96f96eef3dfd036a06a52740b69ba10cede6d30;p=citadel.git diff --git a/webcit/preferences.c b/webcit/preferences.c index 86c8cde9e..36ec5c240 100644 --- a/webcit/preferences.c +++ b/webcit/preferences.c @@ -132,7 +132,7 @@ void save_preferences(void) { serv_gets(buf); } -void get_preference(char *key, char *value) { +void get_preference(char *key, char *value, size_t value_len) { int num_prefs; int i; char buf[SIZ]; @@ -142,10 +142,10 @@ void get_preference(char *key, char *value) { num_prefs = num_tokens(WC->preferences, '\n'); for (i=0; ipreferences, i, '\n'); - extract_token(thiskey, buf, 0, '|'); + extract_token(buf, WC->preferences, i, '\n', sizeof buf); + extract_token(thiskey, buf, 0, '|', sizeof thiskey); if (!strcasecmp(thiskey, key)) { - extract_token(value, buf, 1, '|'); + extract_token(value, buf, 1, '|', value_len); } } } @@ -159,9 +159,9 @@ void set_preference(char *key, char *value) { num_prefs = num_tokens(WC->preferences, '\n'); for (i=0; ipreferences, i, '\n'); + extract_token(buf, WC->preferences, i, '\n', sizeof buf); if (num_tokens(buf, '|') == 2) { - extract_token(thiskey, buf, 0, '|'); + extract_token(thiskey, buf, 0, '|', sizeof thiskey); if (strcasecmp(thiskey, key)) { if (newprefs == NULL) newprefs = strdup(""); newprefs = realloc(newprefs,