- serv_printf("GOTO %s", bstr("which_addr_book"));
- serv_getln(buf, sizeof buf);
- serv_puts("DVCA");
- serv_getln(buf, sizeof buf);
- if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
- wprintf("<option value=\"");
- escputs(buf);
- wprintf("\">");
- escputs(buf);
- wprintf("</option>\n");
+ if (!strcasecmp(bstr("which_addr_book"), "__LOCAL_USERS__")) {
+ serv_puts("LIST");
+ serv_getln(buf, sizeof buf);
+ if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
+ extract_token(username, buf, 0, '|', sizeof username);
+ wprintf("<option value=\"");
+ escputs(username);
+ wprintf("\">");
+ escputs(username);
+ wprintf("</option>\n");
+ }
+ }
+
+ else {
+ serv_printf("GOTO %s", bstr("which_addr_book"));
+ serv_getln(buf, sizeof buf);
+ serv_puts("DVCA");
+ serv_getln(buf, sizeof buf);
+ if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
+ wprintf("<option value=\"");
+ escputs(buf);
+ wprintf("\">");
+ escputs(buf);
+ wprintf("</option>\n");
+ }