X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=textclient%2Fsrc%2Froutines.c;h=5e6e22bfcce7d299989e58137d34f392aae434a8;hp=26e8dce4176dd33ef7053b13a0243b669978ab87;hb=5a3c48d2513dab2cec3c32b37e804a891613a909;hpb=63036a933365488e24c21cd5a6b2689f34e1fbb0 diff --git a/textclient/src/routines.c b/textclient/src/routines.c index 26e8dce41..5e6e22bfc 100644 --- a/textclient/src/routines.c +++ b/textclient/src/routines.c @@ -77,7 +77,7 @@ void back(int spaces) { */ void edit_user_internet_email_addresses(CtdlIPC *ipc, char *who) { - char buf[256]; + char buf[SIZ]; char *resp = NULL; int num_recs = 0; char **recs = NULL; @@ -93,12 +93,13 @@ void edit_user_internet_email_addresses(CtdlIPC *ipc, char *who) while (!IsEmptyStr(emailaddrs)) { extract_token(buf, emailaddrs, 0, '\n', sizeof buf); remove_token(emailaddrs, 0, '\n'); - - ++num_recs; - if (num_recs == 1) recs = malloc(sizeof(char *)); - else recs = realloc(recs, (sizeof(char *)) * num_recs); - recs[num_recs-1] = malloc(strlen(buf) + 1); - strcpy(recs[num_recs-1], buf); + if (!IsEmptyStr(buf)) { + ++num_recs; + if (num_recs == 1) recs = malloc(sizeof(char *)); + else recs = realloc(recs, (sizeof(char *)) * num_recs); + recs[num_recs-1] = malloc(strlen(buf) + 1); + strcpy(recs[num_recs-1], buf); + } } } @@ -156,18 +157,14 @@ void edit_user_internet_email_addresses(CtdlIPC *ipc, char *who) strcat(resp, recs[i]); strcat(resp, "\n"); } - - //r = CtdlIPCSetSystemConfigByType(ipc, INTERNETCFG, resp, buf); - //if (r / 100 != 4) { - //scr_printf("%s\n", buf); - //} else { - //scr_printf("Wrote %d records.\n", num_recs); - //modified = 0; - //} - scr_printf("<%s>\n", resp); - - - + r = CtdlIPCAideSetEmailAddresses(ipc, who, resp, buf); + if (r / 100 != 4) { + scr_printf("%s\n", buf); + } else { + scr_printf("Saved %d addresses.\n", num_recs); + modified = 0; + quitting = 1; + } free(resp); break; case 'q':