* Replaced serv_gets() with serv_getln() - which now requires the caller
authorArt Cancro <ajc@citadel.org>
Mon, 11 Apr 2005 14:45:13 +0000 (14:45 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 11 Apr 2005 14:45:13 +0000 (14:45 +0000)
  to supply the size of the target buffer.

33 files changed:
webcit/ChangeLog
webcit/auth.c
webcit/availability.c
webcit/calendar.c
webcit/event.c
webcit/floors.c
webcit/graphics.c
webcit/groupdav_delete.c
webcit/groupdav_get.c
webcit/groupdav_propfind.c
webcit/groupdav_put.c
webcit/html2html.c
webcit/inetconf.c
webcit/listsub.c
webcit/mainmenu.c
webcit/messages.c
webcit/netconf.c
webcit/notes.c
webcit/paging.c
webcit/preferences.c
webcit/roomops.c
webcit/serv_func.c
webcit/siteconfig.c
webcit/subst.c
webcit/summary.c
webcit/sysmsgs.c
webcit/tcp_sockets.c
webcit/useredit.c
webcit/userlist.c
webcit/vcard_edit.c
webcit/webcit.c
webcit/webcit.h
webcit/who.c

index f603ca4d18d449d308dc95b8e0bb5ba43bf1e366..d54b654812a60fc038945121eecfaa62a8be9231 100644 (file)
@@ -1,4 +1,8 @@
 $Log$
+Revision 610.2  2005/04/11 14:45:12  ajc
+* Replaced serv_gets() with serv_getln() - which now requires the caller
+  to supply the size of the target buffer.
+
 Revision 610.1  2005/04/08 19:36:56  ajc
 * Moved to the new string tokenizer API
 
@@ -2505,4 +2509,3 @@ Sun Dec  6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
-
index 3fb489847cf21239dd70b7214f47e9022be51ddd..06150fa1fdd341216976297eed49d2f26fb7a33d 100644 (file)
@@ -87,7 +87,7 @@ void become_logged_in(char *user, char *pass, char *serv_response)
        load_preferences();
 
        serv_puts("CHEK");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                WC->new_mail = extract_int(&buf[4], 0);
                WC->need_regi = extract_int(&buf[4], 1);
@@ -107,10 +107,10 @@ void do_login(void)
        }
        if (!strcasecmp(bstr("action"), "Login")) {
                serv_printf("USER %s", bstr("name"));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '3') {
                        serv_printf("PASS %s", bstr("pass"));
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '2') {
                                become_logged_in(bstr("name"),
                                                 bstr("pass"), buf);
@@ -129,11 +129,11 @@ void do_login(void)
                        return;
                }
                serv_printf("NEWU %s", bstr("name"));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        become_logged_in(bstr("name"), bstr("pass"), buf);
                        serv_printf("SETP %s", bstr("pass"));
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                } else {
                        display_login(&buf[4]);
                        return;
@@ -225,7 +225,7 @@ void do_logout(void)
 
        wprintf("<center>");
        serv_puts("MESG goodbye");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (WC->serv_sock >= 0) {
                if (buf[0] == '1') {
@@ -271,13 +271,13 @@ void validate(void)
        if (strlen(buf) > 0)
                if (strlen(bstr("axlevel")) > 0) {
                        serv_printf("VALI %s|%s", buf, bstr("axlevel"));
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] != '2') {
                                wprintf("<b>%s</b><br />\n", &buf[4]);
                        }
                }
        serv_puts("GNUR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] != '3') {
                wprintf("<b>%s</b><br />\n", &buf[4]);
@@ -291,11 +291,11 @@ void validate(void)
 
        strcpy(user, &buf[4]);
        serv_printf("GREG %s", user);
-       serv_gets(cmd);
+       serv_getln(cmd, sizeof cmd);
        if (cmd[0] == '1') {
                a = 0;
                do {
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        ++a;
                        if (a == 1)
                                wprintf("User #%s<br /><H1>%s</H1>",
@@ -400,7 +400,7 @@ void display_changepw(void)
 
        wprintf("<CENTER><br />");
        serv_puts("MESG changepw");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                fmout(NULL, "CENTER");
        }
@@ -456,7 +456,7 @@ void changepw(void)
        }
 
        serv_printf("SETP %s", newpass1);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        sprintf(WC->ImportantMessage, "%s", &buf[4]);
        if (buf[0] == '2') {
                safestrncpy(WC->wc_password, buf, sizeof WC->wc_password);
index fdda99743a5eaf522045903de2c326a9c82f0fdf..27d99240787803f2d60e53c652567bb7c3548805 100644 (file)
@@ -42,7 +42,7 @@ icalcomponent *get_freebusy_for_user(char *who) {
        icalcomponent *fb = NULL;
 
        serv_printf("ICAL freebusy|%s", who);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                serialized_fb = read_server_text();
        }
index 10296ae798d82827a84877b4d80f15c81bc34113..07221154d19e4c0bbfc3cb052d08b6fa1a03189c 100644 (file)
@@ -229,9 +229,9 @@ void cal_process_object(icalcomponent *cal,
                /* Check for conflicts */
                lprintf(9, "Checking server calendar for conflicts...\n");
                serv_printf("ICAL conflicts|%ld|%s|", msgnum, cal_partnum);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '1') {
-                       while (serv_gets(buf), strcmp(buf, "000")) {
+                       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                extract_token(conflict_name, buf, 3, '|', sizeof conflict_name);
                                is_update = extract_int(buf, 4);
                                wprintf("<TR><TD><B><I>%s</I></B></TD>"
@@ -288,7 +288,7 @@ void cal_process_object(icalcomponent *cal,
                 * In the future, if we want to validate this object before
                 * continuing, we can do it this way:
                serv_printf("ICAL whatever|%ld|%s|", msgnum, cal_partnum);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                }
                 ***********/
 
@@ -366,7 +366,7 @@ void respond_to_request(void) {
                bstr("cal_partnum"),
                bstr("sc")
        );
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] == '2') {
                wprintf("<TABLE BORDER=0><TR><TD>"
@@ -424,7 +424,7 @@ void handle_rsvp(void) {
                bstr("cal_partnum"),
                bstr("sc")
        );
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] == '2') {
                wprintf("<TABLE BORDER=0><TR><TD>"
@@ -713,7 +713,7 @@ void save_individual_task(icalcomponent *supplied_vtodo, long msgnum) {
 
                /* Serialize it and save it to the message base */
                serv_puts("ENT0 1|||4");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '4') {
                        serv_puts("Content-type: text/calendar");
                        serv_puts("");
@@ -738,7 +738,7 @@ void save_individual_task(icalcomponent *supplied_vtodo, long msgnum) {
 
        if ( (delete_existing) && (msgnum > 0L) ) {
                serv_printf("DELE %ld", atol(bstr("msgnum")));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
 
        if (created_new_vtodo) {
@@ -775,10 +775,10 @@ void display_using_handler(long msgnum,
 
        sprintf(buf, "MSG0 %ld|1", msgnum);     /* ask for headers only */
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') return;
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (!strncasecmp(buf, "part=", 5)) {
                        extract_token(mime_filename, &buf[5], 1, '|', sizeof mime_filename);
                        extract_token(mime_partnum, &buf[5], 2, '|', sizeof mime_partnum);
@@ -926,7 +926,7 @@ void do_freebusy(char *req) {
 
        lprintf(9, "freebusy requested for <%s>\n", who);
        serv_printf("ICAL freebusy|%s", who);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] != '1') {
                wprintf("HTTP/1.0 404 %s\n", &buf[4]);
index 5634326efd64c866d17a7f960e74aca8aa7b573f..e3185e515c959d24409bb428d9ed2be9e370d213 100644 (file)
@@ -273,7 +273,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum)
                        striplt(organizer_string);
                        lprintf(9, "ISME %s\n", organizer_string);
                        serv_printf("ISME %s", organizer_string);
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        lprintf(9, "%s\n", buf);
                        if (buf[0] == '2') {
                                organizer_is_me = 1;
@@ -673,14 +673,14 @@ STARTOVER:        lprintf(9, "Remove unlisted attendees\n");
                lprintf(9, "Serializing it for saving\n");
                if ( (encaps != NULL) && (!strcasecmp(bstr("sc"), "Save")) ) {
                        serv_puts("ENT0 1|||4|||1|");
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '8') {
                                serv_puts("Content-type: text/calendar");
                                serv_puts("");
                                serv_puts(icalcomponent_as_ical_string(encaps));
                                serv_puts("000");
                        }
-                       while (serv_gets(buf), strcmp(buf, "000")) {
+                       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                lprintf(9, "ENT0 REPLY: %s\n", buf);
                        }
                        icalcomponent_free(encaps);
@@ -706,7 +706,7 @@ STARTOVER:  lprintf(9, "Remove unlisted attendees\n");
        lprintf(9, "Checking to see if we have to delete an old event\n");
        if ( (!strcasecmp(bstr("sc"), "Delete")) && (msgnum > 0L) ) {
                serv_printf("DELE %ld", atol(bstr("msgnum")));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
 
        if (created_new_vevent) {
index a9d4ddfadc0c329717bce4167bfb5bb97f10f31d..ceb2e5087521123e20a4f3df7eea518625b6e82d 100644 (file)
@@ -58,7 +58,7 @@ void display_floorconfig(char *prepend_html)
        }
 
        serv_printf("LFLR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#770000\"><TR><TD>");
                wprintf("<SPAN CLASS=\"titlebar\">Error</SPAN>\n");
@@ -75,7 +75,7 @@ void display_floorconfig(char *prepend_html)
                "<TH>Number of rooms</TH></TR>\n"
        );
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                floornum = extract_int(buf, 0);
                extract_token(floorname, buf, 1, '|', sizeof floorname);
                refcount = extract_int(buf, 2);
@@ -132,7 +132,7 @@ void delete_floor(void) {
        floornum = atoi(bstr("floornum"));
 
        serv_printf("KFLR %d|1", floornum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] == '2') {
                sprintf(message, "Floor has been deleted.");
@@ -153,7 +153,7 @@ void create_floor(void) {
        strcpy(floorname, bstr("floorname"));
 
        serv_printf("CFLR %s|1", floorname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] == '2') {
                sprintf(message, "New floor has been created.");
@@ -175,7 +175,7 @@ void rename_floor(void) {
        strcpy(floorname, bstr("floorname"));
 
        serv_printf("EFLR %d|%s", floornum, floorname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        sprintf(message, "%s", &buf[4]);
 
index 396f21f7e3def1b82789ca315e91d1c5321ef81f..948dc8905b82d0839eb7b5803f39830d15627f83 100644 (file)
@@ -30,7 +30,7 @@ void display_graphics_upload(char *description, char *check_cmd, char *uplurl)
        char buf[SIZ];
 
        serv_puts(check_cmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_main_menu();
@@ -97,7 +97,7 @@ void do_graphics_upload(char *upl_cmd)
                return;
        }
        serv_puts(upl_cmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_main_menu();
@@ -107,11 +107,11 @@ void do_graphics_upload(char *upl_cmd)
        while (bytes_remaining) {
                thisblock = ((bytes_remaining > 4096) ? 4096 : bytes_remaining);
                serv_printf("WRIT %d", thisblock);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '7') {
                        strcpy(WC->ImportantMessage, &buf[4]);
                        serv_puts("UCLS 0");
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        display_main_menu();
                        return;
                }
@@ -122,7 +122,7 @@ void do_graphics_upload(char *upl_cmd)
        }
 
        serv_puts("UCLS 1");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != 'x') {
                display_success(&buf[4]);
                return;
index eebe1a0ce0f44fdc84515ce1aba82f5f2fb2c1e0..6d0225786796f5c8b403c83df4f8cc06a40a436d 100644 (file)
@@ -91,7 +91,7 @@ void groupdav_delete(char *dav_pathname, char *dav_ifmatch) {
         * Ok, attempt to delete the item.
         */
        serv_printf("DELE %ld", dav_msgnum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                wprintf("HTTP/1.1 204 No Content\r\n"); /* success */
                groupdav_common_headers();
index 87286632ae35a2466218d486dbfb48372b03ce4c..efda71d92685cb46be19e9d251d3df76757782fb 100644 (file)
@@ -71,7 +71,7 @@ void groupdav_get(char *dav_pathname) {
 
        dav_msgnum = locate_message_by_uid(dav_uid);
        serv_printf("MSG2 %ld", dav_msgnum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("HTTP/1.1 404 not found\r\n");
                groupdav_common_headers();
@@ -88,7 +88,7 @@ void groupdav_get(char *dav_pathname) {
        wprintf("HTTP/1.1 200 OK\r\n");
        groupdav_common_headers();
        wprintf("ETag: \"%ld\"\r\n", dav_msgnum);
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (!strncasecmp(buf, "Date: ", 6)) {
                        wprintf("%s\r\n", buf);
                }
index 2780a5909cb9f4b6c5c1c00736ca671aa7953290..4b047d769ed8df59a43a085e5d26fb4bb3bab2c2 100644 (file)
@@ -53,11 +53,11 @@ long locate_message_by_uid(char *uid) {
        euid_unescapize(decoded_uid, uid);
 
        serv_puts("MSGS ALL|0|1");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '8') {
                serv_printf("exti|%s", decoded_uid);
                serv_puts("000");
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        retval = atol(buf);
                }
        }
@@ -95,8 +95,8 @@ void groupdav_folder_list(void) {
        );
 
        serv_puts("LKRA");
-       serv_gets(buf);
-       if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
 
                extract_token(roomname, buf, 0, '|', sizeof roomname);
                view = extract_int(buf, 6);
@@ -229,8 +229,8 @@ void groupdav_propfind(char *dav_pathname) {
        );
 
        serv_puts("MSGS ALL");
-       serv_gets(buf);
-       if (buf[0] == '1') while (serv_gets(msgnum), strcmp(msgnum, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0] == '1') while (serv_getln(msgnum, sizeof msgnum), strcmp(msgnum, "000")) {
                msgs = realloc(msgs, ++num_msgs * sizeof(long));
                msgs[num_msgs-1] = atol(msgnum);
        }
@@ -239,8 +239,8 @@ void groupdav_propfind(char *dav_pathname) {
 
                strcpy(uid, "");
                serv_printf("MSG0 %ld|3", msgs[i]);
-               serv_gets(buf);
-               if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+               serv_getln(buf, sizeof buf);
+               if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        if (!strncasecmp(buf, "exti=", 5)) {
                                strcpy(uid, &buf[5]);
                        }
index d634a9aff6b50072da143b84c24bb6ec0bdd189c..09c34c51f87449fb9d561e54dde12c6937e431be 100644 (file)
@@ -119,7 +119,7 @@ void groupdav_put(char *dav_pathname, char *dav_ifmatch,
         * extract the message ID.
         */
        serv_puts("ENT0 1|||4|||1|");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '8') {
                wprintf("HTTP/1.1 502 Bad Gateway\r\n");
                groupdav_common_headers();
@@ -138,7 +138,7 @@ void groupdav_put(char *dav_pathname, char *dav_ifmatch,
        /* Fetch the reply from the Citadel server */
        n = 0;
        strcpy(dav_uid, "");
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                switch(n++) {
                        case 0: new_msgnum = atol(buf);
                                break;
@@ -194,7 +194,7 @@ void groupdav_put(char *dav_pathname, char *dav_ifmatch,
         * the Citadel server, but we'll do this anyway, just in case.
         */
        serv_printf("DELE %ld", old_msgnum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        return;
 }
index 31a396b404640c815010baedc25ae202acdda43b..271dbe14376e9f2a8578878a27ad2468fb56c7ec 100644 (file)
@@ -51,7 +51,7 @@ void output_html(void) {
        msg = strdup("");
        sprintf(new_window, "<A TARGET=\"%s\" HREF=", TARGET);
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                line_length = strlen(buf);
                buffer_length = content_length + line_length + 2;
                msg = realloc(msg, buffer_length);
index 64d76bd77fac8eb72d13702118fac6d9ea95287e..3da1719a6dccac92b9ad1e205722a046d1650ee6 100644 (file)
@@ -81,8 +81,8 @@ void display_inetconf(void)
        ic_misc = strdup("");
 
        serv_printf("CONF GETSYS|application/x-citadel-internet-config");
-       serv_gets(buf);
-       if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
 
                extract_token(ename, buf, 0, '|', sizeof ename);
                extract_token(etype, buf, 1, '|', sizeof etype);
@@ -172,8 +172,8 @@ void save_inetconf(void) {
 
        strcpy(newconfig, "");
        serv_printf("CONF GETSYS|application/x-citadel-internet-config");
-       serv_gets(buf);
-       if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                extract_token(ename, buf, 0, '|', sizeof ename);
                extract_token(etype, buf, 1, '|', sizeof etype);
                if (strlen(buf) == 0) {
@@ -192,7 +192,7 @@ void save_inetconf(void) {
        }
 
        serv_printf("CONF PUTSYS|application/x-citadel-internet-config");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '4') {
                serv_puts(newconfig);
                if (!strcasecmp(bstr("oper"), "add")) {
index 1dc1abb5c3add7508d281041214b58ce7e15042f..b5982f9e4bae88c481c8d6997dddde3c6943affb 100644 (file)
@@ -71,7 +71,7 @@ void do_listsub(void)
                        subtype,
                        WC->http_host
                );
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        wprintf("<CENTER><H1>Confirmation request sent</H1>"
                                "You are subscribing <TT>");
@@ -108,7 +108,7 @@ void do_listsub(void)
                        email,
                        WC->http_host
                );
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        wprintf("<CENTER><H1>Confirmation request sent</H1>"
                                "You are unsubscribing <TT>");
@@ -144,7 +144,7 @@ void do_listsub(void)
                        room,
                        token
                );
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        wprintf("<CENTER><H1>Confirmation successful!</H1>");
                }
@@ -176,9 +176,9 @@ FORM:               wprintf("<FORM METHOD=\"GET\" ACTION=\"/listsub\">\n"
                        "<SELECT NAME=\"room\" SIZE=1>\n");
 
                serv_puts("LPRM");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '1') {
-                       while (serv_gets(buf), strcmp(buf, "000")) {
+                       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                extract_token(sroom, buf, 0, '|', sizeof sroom);
                                self = extract_int(buf, 4) & QR2_SELFLIST ;
                                if (self) {
index fa08b32f43e4360eedfbfd9048d1ed56e7c99b13..f8b9a6ddbfff98718aa02370cdfb48e10529eb80 100644 (file)
@@ -313,7 +313,7 @@ void do_generic(void)
        output_headers(1, 1, 0, 0, 0, 0, 0);
 
        serv_printf("%s", bstr("g_cmd"));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        svprintf("BOXTITLE", WCS_STRING, "Server command results");
        do_template("beginbox");
@@ -328,7 +328,7 @@ void do_generic(void)
                serv_printf("\n\n000");
        }
        if ((buf[0] == '1') || (buf[0] == '8')) {
-               while (serv_gets(gcontent), strcmp(gcontent, "000")) {
+               while (serv_getln(gcontent, sizeof gcontent), strcmp(gcontent, "000")) {
                        escputs(gcontent);
                        wprintf("<br />\n");
                }
index fddc4894851cfa85e8f62f467cf5b297a8086be2..df8d2b59723b1fbd6800f222f3c571bd1fc0b551 100644 (file)
@@ -433,7 +433,7 @@ void read_message(long msgnum) {
        strcpy(mime_http, "");
 
        serv_printf("MSG4 %ld", msgnum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("<STRONG>ERROR:</STRONG> %s<br />\n", &buf[4]);
                return;
@@ -451,7 +451,7 @@ void read_message(long msgnum) {
        wprintf("<SPAN CLASS=\"message_header\">");
        strcpy(m_subject, "");
 
-       while (serv_gets(buf), strcasecmp(buf, "text")) {
+       while (serv_getln(buf, sizeof buf), strcasecmp(buf, "text")) {
                if (!strcmp(buf, "000")) {
                        wprintf("<I>unexpected end of message</I><br /><br />\n");
                        wprintf("</SPAN>\n");
@@ -614,7 +614,7 @@ void read_message(long msgnum) {
         * Learn the content type
         */
        strcpy(mime_content_type, "text/plain");
-       while (serv_gets(buf), (strlen(buf) > 0)) {
+       while (serv_getln(buf, sizeof buf), (strlen(buf) > 0)) {
                if (!strcmp(buf, "000")) {
                        wprintf("<I>unexpected end of message</I><br /><br />\n");
                        goto ENDBODY;
@@ -632,7 +632,7 @@ void read_message(long msgnum) {
 
        /* Boring old 80-column fixed format text gets handled this way... */
        else if (!strcasecmp(mime_content_type, "text/plain")) {
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        if (buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = 0;
                        if (buf[strlen(buf)-1] == '\r') buf[strlen(buf)-1] = 0;
                        while ((strlen(buf) > 0) && (isspace(buf[strlen(buf) - 1])))
@@ -663,7 +663,7 @@ void read_message(long msgnum) {
        else {
                wprintf("I don't know how to display %s<br />\n",
                        mime_content_type);
-               while (serv_gets(buf), strcmp(buf, "000")) { }
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { }
        }
 
 
@@ -732,10 +732,10 @@ void summarize_message(long msgnum, int is_new) {
 
        sprintf(buf, "MSG0 %ld|3", msgnum);     /* ask for headers only with no MIME */
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') return;
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (!strncasecmp(buf, "from=", 5)) {
                        strcpy(summ.from, &buf[5]);
                }
@@ -816,10 +816,10 @@ void display_addressbook(long msgnum, char alpha) {
 
        sprintf(buf, "MSG0 %ld|1", msgnum);     /* ask for headers only */
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') return;
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (!strncasecmp(buf, "part=", 5)) {
                        extract_token(mime_filename, &buf[5], 1, '|', sizeof mime_filename);
                        extract_token(mime_partnum, &buf[5], 2, '|', sizeof mime_partnum);
@@ -908,10 +908,10 @@ void fetch_ab_name(long msgnum, char *namebuf) {
 
        sprintf(buf, "MSG0 %ld|1", msgnum);     /* ask for headers only */
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') return;
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (!strncasecmp(buf, "part=", 5)) {
                        extract_token(mime_filename, &buf[5], 1, '|', sizeof mime_filename);
                        extract_token(mime_partnum, &buf[5], 2, '|', sizeof mime_partnum);
@@ -1071,12 +1071,12 @@ int load_msg_ptrs(char *servcmd)
        nummsgs = 0;
        maxload = sizeof(WC->msgarr) / sizeof(long) ;
        serv_puts(servcmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("<EM>%s</EM><br />\n", &buf[4]);
                return (nummsgs);
        }
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (nummsgs < maxload) {
                        WC->msgarr[nummsgs] = atol(buf);
                        ++nummsgs;
@@ -1159,7 +1159,7 @@ void readloop(char *oper)
        strcpy(old_msgs, "");
        if (is_summary) {
                serv_puts("GTSN");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        strcpy(old_msgs, &buf[4]);
                }
@@ -1551,7 +1551,7 @@ void post_message(void)
                        bstr("recp"),
                        bstr("subject") );
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '4') {
                        post_mime_to_server();
                        if (strlen(bstr("recp")) > 0) {
@@ -1624,7 +1624,7 @@ void display_enter(void)
 
        sprintf(buf, "ENT0 0|%s|0|0", bstr("recp"));
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (!strncmp(buf, "570", 3)) {
                if (strlen(bstr("recp")) > 0) {
@@ -1745,7 +1745,7 @@ void delete_msg(void)
 
        sprintf(buf, "DELE %ld", msgid);
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        wprintf("<EM>%s</EM><br />\n", &buf[4]);
 
        wDumpContent(1);
@@ -1784,9 +1784,9 @@ void confirm_move_msg(void)
 
        wprintf("<SELECT NAME=\"target_room\" SIZE=5>\n");
        serv_puts("LKRA");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(targ, buf, 0, '|', sizeof targ);
                        wprintf("<OPTION>");
                        escputs(targ);
@@ -1819,7 +1819,7 @@ void move_msg(void)
        if (!strcasecmp(bstr("yesno"), "Move")) {
                sprintf(buf, "MOVE %ld|%s", msgid, bstr("target_room"));
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                wprintf("<EM>%s</EM><br />\n", &buf[4]);
        } else {
                wprintf("<EM>Message not moved.</EM><br />\n");
@@ -1847,9 +1847,9 @@ void do_stuff_to_msgs(void) {
 
 
        serv_puts("MSGS ALL");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
-       if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+       if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                ptr = malloc(sizeof(struct stuff_t));
                ptr->msgnum = atol(buf);
                ptr->next = stuff;
@@ -1865,7 +1865,7 @@ void do_stuff_to_msgs(void) {
 
                        if (!strcasecmp(sc, "Delete selected")) {
                                serv_printf("DELE %ld", stuff->msgnum);
-                               serv_gets(buf);
+                               serv_getln(buf, sizeof buf);
                        }
 
                }
index 6886446ec90da2211fdffc70bedb9a5308a64e85..8ea2aee7e7083deccefee406106b45a8417de381 100644 (file)
@@ -39,9 +39,9 @@ void edit_node(void) {
                fp = tmpfile();
                if (fp != NULL) {
                        serv_puts("CONF getsys|application/x-citadel-ignet-config");
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '1') {
-                               while (serv_gets(buf), strcmp(buf, "000")) {
+                               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                        extract_token(cnode, buf, 0, '|', sizeof cnode);
                                        if (strcasecmp(node, cnode)) {
                                                fprintf(fp, "%s\n", buf);
@@ -56,7 +56,7 @@ void edit_node(void) {
                        rewind(fp);
 
                        serv_puts("CONF putsys|application/x-citadel-ignet-config");
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '4') {
                                while (fgets(buf, sizeof buf, fp) != NULL) {
                                        buf[strlen(buf)-1] = 0;
@@ -122,9 +122,9 @@ void display_edit_node(void)
        wprintf("</div>\n<div id=\"content\">\n");
 
        serv_puts("CONF getsys|application/x-citadel-ignet-config");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(cnode, buf, 0, '|', sizeof cnode);
                        extract_token(csecret, buf, 1, '|', sizeof csecret);
                        extract_token(chost, buf, 2, '|', sizeof chost);
@@ -181,10 +181,10 @@ void display_netconf(void)
        wprintf("<SPAN CLASS=\"titlebar\">Currently configured nodes</SPAN>\n");
        wprintf("</TD></TR></TABLE>\n");
        serv_puts("CONF getsys|application/x-citadel-ignet-config");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                wprintf("<CENTER><TABLE border=0>\n");
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(node, buf, 0, '|', sizeof node);
                        wprintf("<TR><TD><FONT SIZE=+1>");
                        escputs(node);
@@ -237,9 +237,9 @@ void delete_node(void)
        fp = tmpfile();
        if (fp != NULL) {
                serv_puts("CONF getsys|application/x-citadel-ignet-config");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '1') {
-                       while (serv_gets(buf), strcmp(buf, "000")) {
+                       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                extract_token(cnode, buf, 0, '|', sizeof cnode);
                                if (strcasecmp(node, cnode)) {
                                        fprintf(fp, "%s\n", buf);
@@ -249,7 +249,7 @@ void delete_node(void)
                rewind(fp);
 
                serv_puts("CONF putsys|application/x-citadel-ignet-config");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '4') {
                        while (fgets(buf, sizeof buf, fp) != NULL) {
                                buf[strlen(buf)-1] = 0;
@@ -276,7 +276,7 @@ void add_node(void)
        if (!strcmp(sc, "Add")) {
                sprintf(buf, "NSET addnode|%s", node);
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '1') {
                        output_headers(1, 1, 0, 0, 0, 0, 0);
                        server_to_text();
index 29527211452fe8fc1cf952c44df698971cb2fce5..05fcb57b01566123b21600d1637a997df8f27acd 100644 (file)
@@ -33,14 +33,14 @@ void display_note(long msgnum) {
        wprintf("<IMG ALIGN=MIDDLE SRC=\"/static/note.gif\">\n");
 
        serv_printf("MSG0 %ld", msgnum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("%s<br />\n", &buf[4]);
                return;
        }
 
        strcpy(notetext, "");
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
 
                /* Fill the buffer to at least 256 characters */
                if ( (in_text) && (strlen(notetext) < 256) ) {
index 25ccbf0fbb4af65e35383d4b9241df9757166262..f05ed31cb7f8f61688a10cb00646c9e719008af0 100644 (file)
@@ -104,7 +104,7 @@ void page_user(void)
                wprintf("<EM>Message was not sent.</EM><br />\n");
        } else {
                serv_printf("SEXP %s|-", recp);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
 
                if (buf[0] == '4') {
                        text_to_server(bstr("msgtext"), 0);
@@ -137,7 +137,7 @@ void do_chat(void)
 
        /* First, check to make sure we're still allowed in this room. */
        serv_printf("GOTO %s", WC->wc_roomname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                smart_goto("_BASEROOM_");
                return;
@@ -167,7 +167,7 @@ void page_popup(void)
        char buf[SIZ];
        char pagefrom[SIZ];
 
-       while (serv_puts("GEXP"), serv_gets(buf), buf[0]=='1') {
+       while (serv_puts("GEXP"), serv_getln(buf, sizeof buf), buf[0]=='1') {
 
                extract_token(pagefrom, &buf[4], 3, '|', sizeof pagefrom);
 
@@ -219,19 +219,19 @@ int setup_chat_socket(void) {
                WC->serv_sock = WC->chat_sock;
                WC->chat_sock = i;
 
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        serv_printf("USER %s", WC->wc_username);
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '3') {
                                serv_printf("PASS %s", WC->wc_password);
-                               serv_gets(buf);
+                               serv_getln(buf, sizeof buf);
                                if (buf[0] == '2') {
                                        serv_printf("GOTO %s", WC->wc_roomname);
-                                       serv_gets(buf);
+                                       serv_getln(buf, sizeof buf);
                                        if (buf[0] == '2') {
                                                serv_puts("CHAT");
-                                               serv_gets(buf);
+                                               serv_getln(buf, sizeof buf);
                                                if (buf[0] == '8') {
                                                        good_chatmode = 1;
                                                }
@@ -303,7 +303,7 @@ void chat_recv(void) {
                        WC->serv_sock = WC->chat_sock;
                        WC->chat_sock = i;
        
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
 
                        if (!strcmp(buf, "000")) {
                                strcpy(buf, ":|exiting chat mode");
index 36ec5c2408cd1e46c99eb00d2cba70628bd24fe6..eab5f8cdd639bdec7c54370263e7139301807841 100644 (file)
@@ -34,28 +34,28 @@ void load_preferences(void) {
        long msgnum = 0L;
 
        serv_printf("GOTO %s", USERCONFIGROOM);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') return;
        
        serv_puts("MSGS ALL|0|1");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '8') {
                serv_puts("subj|__ WebCit Preferences __");
                serv_puts("000");
        }
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                msgnum = atol(buf);
        }
 
        if (msgnum > 0L) {
                serv_printf("MSG0 %ld", msgnum);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '1') {
-                       while (serv_gets(buf),
+                       while (serv_getln(buf, sizeof buf),
                                (strcmp(buf, "text") && strcmp(buf, "000"))) {
                        }
                        if (!strcmp(buf, "text")) {
-                               while (serv_gets(buf), strcmp(buf, "000")) {
+                               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                        if (WC->preferences == NULL) {
                                                WC->preferences = malloc(SIZ);
                                                strcpy(WC->preferences, "");
@@ -76,7 +76,7 @@ void load_preferences(void) {
 
        /* Go back to the room we're supposed to be in */
        serv_printf("GOTO %s", WC->wc_roomname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 }
 
 /*
@@ -87,12 +87,12 @@ int goto_config_room(void) {
        char buf[SIZ];
 
        serv_printf("GOTO %s", USERCONFIGROOM);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') { /* try to create the config room if not there */
                serv_printf("CRE8 1|%s|4|0", USERCONFIGROOM);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                serv_printf("GOTO %s", USERCONFIGROOM);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') return(1);
        }
        return(0);
@@ -105,22 +105,22 @@ void save_preferences(void) {
 
        if (goto_config_room() != 0) return;    /* oh well. */
        serv_puts("MSGS ALL|0|1");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '8') {
                serv_puts("subj|__ WebCit Preferences __");
                serv_puts("000");
        }
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                msgnum = atol(buf);
        }
 
        if (msgnum > 0L) {
                serv_printf("DELE %ld", msgnum);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
 
        serv_printf("ENT0 1||0|1|__ WebCit Preferences __|");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '4') {
                serv_puts(WC->preferences);
                serv_puts("");
@@ -129,7 +129,7 @@ void save_preferences(void) {
 
        /* Go back to the room we're supposed to be in */
        serv_printf("GOTO %s", WC->wc_roomname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 }
 
 void get_preference(char *key, char *value, size_t value_len) {
index d54ca16199accb15f7b3a7c0a70c4d5ae14046e8..00b201b87f4f74269119945bffcad709cc904532 100644 (file)
@@ -57,12 +57,12 @@ void load_floorlist(void)
                floorlist[a][0] = 0;
 
        serv_puts("LFLR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                strcpy(floorlist[0], "Main Floor");
                return;
        }
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                extract_token(floorlist[extract_int(buf, 0)], buf, 1, '|', sizeof floorlist[0]);
        }
 }
@@ -172,12 +172,12 @@ void listrms(char *variety)
 
        /* Ask the server for a room list */
        serv_puts(variety);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("&nbsp;");
                return;
        }
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                ++num_rooms;
                rp = malloc(sizeof(struct roomlisting));
                extract_token(rp->rlname, buf, 0, '|', sizeof rp->rlname);
@@ -246,7 +246,7 @@ void readinfo(void)
        char buf[SIZ];
 
        serv_puts("RINF");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                fmout(NULL, "CENTER");
        }
@@ -264,14 +264,14 @@ void embed_room_graphic(void) {
        char buf[SIZ];
 
        serv_puts("OIMG _roompic_");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                wprintf("<TD BGCOLOR=\"#444455\">");
                wprintf("<IMG HEIGHT=64 SRC=\"/image&name=_roompic_&room=");
                urlescputs(WC->wc_roomname);
                wprintf("\"></TD>");
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
 
 }
@@ -340,7 +340,7 @@ void embed_room_banner(char *got, int navbar_style) {
         */
        if (got == NULL) {
                serv_printf("GOTO %s", WC->wc_roomname);
-               serv_gets(fakegot);
+               serv_getln(fakegot, sizeof fakegot);
                got = fakegot;
        }
 
@@ -538,10 +538,10 @@ void gotoroom(char *gname)
 
        /* move to the new room */
        serv_printf("GOTO %s", gname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                serv_puts("GOTO _BASEROOM_");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
        if (buf[0] != '2') {
                return;
@@ -625,9 +625,9 @@ void gotonext(void)
 
        if (WC->march == NULL) {
                serv_puts("LKRN");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '1')
-                       while (serv_gets(buf), strcmp(buf, "000")) {
+                       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                mptr = (struct march *) malloc(sizeof(struct march));
                                mptr->next = NULL;
                                extract_token(mptr->march_name, buf, 0, '|', sizeof mptr->march_name);
@@ -689,7 +689,7 @@ void slrp_highest(void)
 
        /* set pointer */
        serv_puts("SLRP HIGHEST");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                wprintf("<EM>%s</EM><br />\n", &buf[4]);
                return;
@@ -709,14 +709,14 @@ void ungoto(void)
                return;
        }
        serv_printf("GOTO %s", WC->ugname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                smart_goto(WC->wc_roomname);
                return;
        }
        if (WC->uglsn >= 0L) {
                serv_printf("SLRP %ld", WC->uglsn);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
        strcpy(buf, WC->ugname);
        strcpy(WC->ugname, "");
@@ -744,7 +744,7 @@ int self_service(int newval) {
        int flags, floor, order, view, flags2;
 
        serv_puts("GETR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') return(0);
 
        extract_token(name, &buf[4], 0, '|', sizeof name);
@@ -777,7 +777,7 @@ int self_service(int newval) {
                serv_printf("SETR %s|%s|%s|%d|0|%d|%d|%d|%d",
                        name, password, dirname, flags,
                        floor, order, view, flags2);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        }
 
        return(newval);
@@ -819,7 +819,7 @@ void display_editroom(void)
 
        load_floorlist();
        serv_puts("GETR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
@@ -1078,7 +1078,7 @@ void display_editroom(void)
        
                wprintf("<LI>Room aide: \n");
                serv_puts("GETA");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        wprintf("<EM>%s</EM>\n", &buf[4]);
                } else {
@@ -1104,8 +1104,8 @@ void display_editroom(void)
 
                /* Learn the current configuration */
                serv_puts("CONF getsys|application/x-citadel-ignet-config");
-               serv_gets(buf);
-               if (buf[0]=='1') while (serv_gets(buf), strcmp(buf, "000")) {
+               serv_getln(buf, sizeof buf);
+               if (buf[0]=='1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(node, buf, 0, '|', sizeof node);
                        not_shared_with = realloc(not_shared_with,
                                        strlen(not_shared_with) + 32);
@@ -1114,8 +1114,8 @@ void display_editroom(void)
                }
 
                serv_puts("GNET");
-               serv_gets(buf);
-               if (buf[0]=='1') while (serv_gets(buf), strcmp(buf, "000")) {
+               serv_getln(buf, sizeof buf);
+               if (buf[0]=='1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(cmd, buf, 0, '|', sizeof cmd);
                        extract_token(node, buf, 1, '|', sizeof node);
                        extract_token(remote_room, buf, 2, '|', sizeof remote_room);
@@ -1257,8 +1257,8 @@ void display_editroom(void)
                        "</i><br /><br />\n");
 
                serv_puts("GNET");
-               serv_gets(buf);
-               if (buf[0]=='1') while (serv_gets(buf), strcmp(buf, "000")) {
+               serv_getln(buf, sizeof buf);
+               if (buf[0]=='1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(cmd, buf, 0, '|', sizeof cmd);
                        if (!strcasecmp(cmd, "listrecp")) {
                                extract_token(recp, buf, 1, '|', sizeof recp);
@@ -1286,8 +1286,8 @@ void display_editroom(void)
                        "</i><br /><br />\n");
 
                serv_puts("GNET");
-               serv_gets(buf);
-               if (buf[0]=='1') while (serv_gets(buf), strcmp(buf, "000")) {
+               serv_getln(buf, sizeof buf);
+               if (buf[0]=='1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        extract_token(cmd, buf, 0, '|', sizeof cmd);
                        if (!strcasecmp(cmd, "digestrecp")) {
                                extract_token(recp, buf, 1, '|', sizeof recp);
@@ -1338,14 +1338,14 @@ void display_editroom(void)
        if (!strcmp(tab, "expire")) {
 
                serv_puts("GPEX room");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        roompolicy = extract_int(&buf[4], 0);
                        roomvalue = extract_int(&buf[4], 1);
                }
                
                serv_puts("GPEX floor");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        floorpolicy = extract_int(&buf[4], 0);
                        floorvalue = extract_int(&buf[4], 1);
@@ -1455,7 +1455,7 @@ void editroom(void)
                return;
        }
        serv_puts("GETR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
@@ -1470,7 +1470,7 @@ void editroom(void)
        strcpy(er_roomaide, bstr("er_roomaide"));
        if (strlen(er_roomaide) == 0) {
                serv_puts("GETA");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        strcpy(er_roomaide, "");
                } else {
@@ -1569,7 +1569,7 @@ void editroom(void)
        sprintf(buf, "SETR %s|%s|%s|%u|%d|%d",
             er_name, er_password, er_dirname, er_flags, bump, er_floor);
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_editroom();
@@ -1580,7 +1580,7 @@ void editroom(void)
        if (strlen(er_roomaide) > 0) {
                sprintf(buf, "SETA %s", er_roomaide);
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        strcpy(WC->ImportantMessage, &buf[4]);
                        display_main_menu();
@@ -1601,7 +1601,7 @@ void do_invt_kick(void) {
         char buf[SIZ], room[SIZ], username[SIZ];
 
         serv_puts("GETR");
-        serv_gets(buf);
+        serv_getln(buf, sizeof buf);
 
         if (buf[0] != '2') {
                escputs(&buf[4]);
@@ -1614,7 +1614,7 @@ void do_invt_kick(void) {
         if (!strcmp(bstr("sc"), "Kick")) {
                 sprintf(buf, "KICK %s", username);
                 serv_puts(buf);
-                serv_gets(buf);
+                serv_getln(buf, sizeof buf);
 
                 if (buf[0] != '2') {
                         strcpy(WC->ImportantMessage, &buf[4]);
@@ -1628,7 +1628,7 @@ void do_invt_kick(void) {
        if (!strcmp(bstr("sc"), "Invite")) {
                 sprintf(buf, "INVT %s", username);
                 serv_puts(buf);
-                serv_gets(buf);
+                serv_getln(buf, sizeof buf);
 
                 if (buf[0] != '2') {
                         strcpy(WC->ImportantMessage, &buf[4]);
@@ -1652,7 +1652,7 @@ void display_whok(void)
         char buf[SIZ], room[SIZ], username[SIZ];
 
         serv_puts("GETR");
-        serv_gets(buf);
+        serv_getln(buf, sizeof buf);
 
         if (buf[0] != '2') {
                escputs(&buf[4]);
@@ -1670,9 +1670,9 @@ void display_whok(void)
        wprintf("<INPUT TYPE=\"hidden\" NAME=\"tab\" VALUE=\"access\">\n");
         wprintf("<SELECT NAME=\"username\" SIZE=\"10\" style=\"width:100%%\">\n");
         serv_puts("WHOK");
-        serv_gets(buf);
+        serv_getln(buf, sizeof buf);
         if (buf[0] == '1') {
-                while (serv_gets(buf), strcmp(buf, "000")) {
+                while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                         extract_token(username, buf, 0, '|', sizeof username);
                         wprintf("<OPTION>");
                         escputs(username);
@@ -1711,7 +1711,7 @@ void display_entroom(void)
        char buf[SIZ];
 
        serv_puts("CRE8 0");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
@@ -1815,7 +1815,7 @@ void display_entroom(void)
        wprintf("</CENTER>\n");
        wprintf("</FORM>\n<hr />");
        serv_printf("MESG roomaccess");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                fmout(NULL, "CENTER");
        }
@@ -1842,7 +1842,7 @@ void er_set_default_view(int newview) {
        int rm_bits2;
 
        serv_puts("GETR");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') return;
 
        extract_token(rm_name, &buf[4], 0, '|', sizeof rm_name);
@@ -1857,7 +1857,7 @@ void er_set_default_view(int newview) {
                rm_name, rm_pass, rm_dir, rm_bits1, rm_floor,
                rm_listorder, newview, rm_bits2
        );
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 }
 
 
@@ -1900,7 +1900,7 @@ void entroom(void)
        sprintf(buf, "CRE8 1|%s|%d|%s|%d|%d|%d", 
                er_name, er_num_type, er_password, er_floor, 0, er_view);
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_main_menu();
@@ -1977,7 +1977,7 @@ void goto_private(void)
        strcat(buf, "|");
        strcat(buf, bstr("gr_pass"));
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] == '2') {
                smart_goto(bstr("gr_name"));
@@ -2035,10 +2035,10 @@ void zap(void)
 
        if (!strcasecmp(bstr("sc"), "OK")) {
                serv_printf("GOTO %s", WC->wc_roomname);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        serv_puts("FORG");
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '2') {
                                strcpy(final_destination, "_BASEROOM_");
                        }
@@ -2057,7 +2057,7 @@ void delete_room(void)
        char buf[SIZ];
 
        serv_puts("KILL 1");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_main_menu();
@@ -2097,7 +2097,7 @@ void netedit(void) {
        }
 
        serv_puts("GNET");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                fclose(fp);
                display_editroom();
@@ -2105,7 +2105,7 @@ void netedit(void) {
        }
 
        /* This loop works for add *or* remove.  Spiffy, eh? */
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                extract_token(cmpa0, buf, 0, '|', sizeof cmpa0);
                extract_token(cmpa1, buf, 1, '|', sizeof cmpa1);
                extract_token(cmpb0, line, 0, '|', sizeof cmpb0);
@@ -2118,7 +2118,7 @@ void netedit(void) {
 
        rewind(fp);
        serv_puts("SNET");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '4') {
                fclose(fp);
                display_editroom();
@@ -2180,7 +2180,7 @@ void do_change_view(int newview) {
        char buf[SIZ];
 
        serv_printf("VIEW %d", newview);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        WC->wc_view = newview;
        smart_goto(WC->wc_roomname);
 }
@@ -2414,8 +2414,8 @@ void list_all_rooms_by_floor(char *viewpref) {
 
        /* Then add floors */
        serv_puts("LFLR");
-       serv_gets(buf);
-       if (buf[0]=='1') while(serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0]=='1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (max_folders >= alloc_folders) {
                        alloc_folders = max_folders + 100;
                        fold = realloc(fold,
@@ -2429,8 +2429,8 @@ void list_all_rooms_by_floor(char *viewpref) {
 
        /* Now add rooms */
        serv_puts("LKRA");
-       serv_gets(buf);
-       if (buf[0]=='1') while(serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0]=='1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if (max_folders >= alloc_folders) {
                        alloc_folders = max_folders + 100;
                        fold = realloc(fold,
@@ -2583,13 +2583,13 @@ void set_room_policy(void) {
        }
 
        serv_printf("SPEX room|%d|%d", atoi(bstr("roompolicy")), atoi(bstr("roomvalue")));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        strcpy(WC->ImportantMessage, &buf[4]);
 
        if (WC->axlevel >= 6) {
                strcat(WC->ImportantMessage, "<br />\n");
                serv_printf("SPEX floor|%d|%d", atoi(bstr("floorpolicy")), atoi(bstr("floorvalue")));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                strcat(WC->ImportantMessage, &buf[4]);
        }
 
index cf102418f759859e030a6bf5bb90aa68b53c1921..dca9352bfbfdd70dc97721bbe2dffd7a07e2ebb7 100644 (file)
@@ -45,11 +45,11 @@ void get_serv_info(char *browser_host, char *user_agent)
                user_agent,
                browser_host
        );
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        /* Tell the server what kind of richtext we prefer */
        serv_puts("MSGP text/html|text/plain");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
 #ifdef WEBCIT_WITH_CALENDAR_SERVICE
        /* Tell the server that when we save a calendar event, we
@@ -57,17 +57,17 @@ void get_serv_info(char *browser_host, char *user_agent)
         * instead of by the client.
         */
        serv_puts("ICAL sgi|1");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 #endif
 
        /* Now ask the server to tell us a little bit about itself... */
        serv_puts("INFO");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1')
                return;
 
        a = 0;
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                switch (a) {
                case 0:
                        serv_info.serv_pid = atoi(buf);
@@ -122,7 +122,7 @@ void fmout(FILE *fp, char *align)
        wprintf("<DIV ALIGN=%s>\n", align);
        while (1) {
                if (fp == NULL)
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                if (fp != NULL) {
                        if (fgets(buf, SIZ, fp) == NULL)
                                strcpy(buf, "000");
@@ -226,7 +226,7 @@ void server_to_text()
 
        int count = 0;
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                if ((buf[0] == 32) && (count > 0)) {
                        wprintf("\n");
                }
@@ -254,7 +254,7 @@ void read_server_binary(char *buffer, size_t total_len) {
                        if (thisblock == 0) return;
                }
                serv_printf("READ %d|%d", (int)bytes, (int)thisblock);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '6') {
                        thisblock = (size_t)atoi(&buf[4]);
                        if (!WC->connected) return;
@@ -288,7 +288,7 @@ char *read_server_text(void) {
        strcpy(text, "");
        bytes_allocated = SIZ;
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                linelen = strlen(buf);
                buf[linelen] = '\n';
                buf[linelen+1] = 0;
index 0034b6481fe6828e000db57e43b24fff78584c7e..46f64c4094d3148599025aed30032d41ccb98401 100644 (file)
@@ -162,7 +162,7 @@ void display_siteconfig(void)
        }
 
        serv_printf("CONF get");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
                wprintf("<SPAN CLASS=\"titlebar\">Error</SPAN>\n");
@@ -177,7 +177,7 @@ void display_siteconfig(void)
        wprintf("<TABLE border=0>\n");
 
        i = 0;
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                switch (++i) {
                case 1:
                        if (!strcasecmp(whichmenu, "general")) {
@@ -599,14 +599,14 @@ void display_siteconfig(void)
        }
 
        serv_puts("GPEX site");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                sitepolicy = extract_int(&buf[4], 0);
                sitevalue = extract_int(&buf[4], 1);
        }
 
        serv_puts("GPEX mailboxes");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                mboxpolicy = extract_int(&buf[4], 0);
                mboxvalue = extract_int(&buf[4], 1);
@@ -678,7 +678,7 @@ void siteconfig(void)
                return;
        }
        serv_printf("CONF set");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '4') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_siteconfig();
@@ -729,9 +729,9 @@ void siteconfig(void)
        serv_printf("000");
 
        serv_printf("SPEX site|%d|%d", atoi(bstr("sitepolicy")), atoi(bstr("sitevalue")));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        serv_printf("SPEX mailboxes|%d|%d", atoi(bstr("mboxpolicy")), atoi(bstr("mboxvalue")));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        strcpy(WC->ImportantMessage, "System configuration has been updated.");
        display_siteconfig();
index 9392cffee978d20d60eb41b2f6e926e00808fafb..9e93b0a8e7dc670b1111311544ccb16e1d6997d4 100644 (file)
@@ -114,7 +114,7 @@ void pvo_do_cmd(char *servcmd) {
        char buf[SIZ];
 
        serv_puts(servcmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        switch(buf[0]) {
                case '2':
index ff735031e0c07f23b3244e09bf21f3c6d4844306..fdec33d96fc0af4ec963d48ac40c747a2defa4c5 100644 (file)
@@ -88,7 +88,7 @@ void new_messages_section(void) {
                extract_token(room, rooms_to_check, i, '|', sizeof room);
 
                serv_printf("GOTO %s", room);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        extract_token(room, &buf[4], 0, '|', sizeof room);
                        wprintf("<TR><TD><A HREF=\"/dotgoto?room=");
@@ -117,8 +117,8 @@ void wholist_section(void) {
        svprintf("BOXTITLE", WCS_STRING, "Who's&nbsp;online&nbsp;now");
        do_template("beginbox");
        serv_puts("RWHO");
-       serv_gets(buf);
-       if (buf[0] == '1') while(serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                extract_token(user, buf, 1, '|', sizeof user);
                escputs(user);
                wprintf("<br />\n");
index b03249ee42838683202b52f7d1bb2fdf89f67b9e..9f8800754517f0aabf549ab07ae580cdb4193fce 100644 (file)
@@ -35,7 +35,7 @@ void display_edit(char *description, char *check_cmd,
        char buf[SIZ];
 
        serv_puts(check_cmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] != '2') {
                strcpy(WC->ImportantMessage, &buf[4]);
@@ -61,7 +61,7 @@ void display_edit(char *description, char *check_cmd,
        wprintf("<TEXTAREA NAME=\"msgtext\" wrap=soft "
                "ROWS=10 COLS=80 WIDTH=80>\n");
        serv_puts(read_cmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1')
                server_to_text();
        wprintf("</TEXTAREA><br /><br />\n");
@@ -89,7 +89,7 @@ void save_edit(char *description, char *enter_cmd, int regoto)
                return;
        }
        serv_puts(enter_cmd);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '4') {
                strcpy(WC->ImportantMessage, &buf[4]);
                display_main_menu();
index 9e38fac27d2c350694530a36710a32665c440c90..6880cd28b4c3fe98887d07921eb70a9f3a4c08ef 100644 (file)
@@ -163,7 +163,7 @@ void serv_read(char *buf, int bytes)
 /*
  * input string from pipe
  */
-void serv_gets(char *strbuf)
+void serv_getln(char *strbuf, int bufsize)
 {
        int ch, len;
        char buf[2];
@@ -174,7 +174,7 @@ void serv_gets(char *strbuf)
                serv_read(&buf[0], 1);
                ch = buf[0];
                strbuf[len++] = ch;
-       } while ((ch != 10) && (ch != 0) && (len < (SIZ-1)));
+       } while ((ch != 10) && (ch != 0) && (len < (bufsize-1)));
        if (strbuf[len-1] == 10) strbuf[--len] = 0;
        if (strbuf[len-1] == 13) strbuf[--len] = 0;
 #ifdef SERV_TRACE
index 835105bf37b00de501ec2533dc65ca1aa587eab7..b11f240c284e6bd729197fb9fec900030b189907 100644 (file)
@@ -78,9 +78,9 @@ void select_user_to_edit(char *message, char *preselect)
                "<FORM METHOD=\"POST\" ACTION=\"/display_edituser\">\n");
         wprintf("<SELECT NAME=\"username\" SIZE=10 STYLE=\"width:100%%\">\n");
         serv_puts("LIST");
-        serv_gets(buf);
+        serv_getln(buf, sizeof buf);
         if (buf[0] == '1') {
-                while (serv_gets(buf), strcmp(buf, "000")) {
+                while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                         extract_token(username, buf, 0, '|', sizeof username);
                         wprintf("<OPTION");
                        if (preselect != NULL)
@@ -128,8 +128,8 @@ long locate_user_vcard(char *username, long usernum) {
 TRYAGAIN:
        /* Search for the user's vCard */
        serv_puts("MSGS ALL");
-       serv_gets(buf);
-       if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+       serv_getln(buf, sizeof buf);
+       if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                ptr = malloc(sizeof(struct stuff_t));
                ptr->msgnum = atol(buf);
                ptr->next = stuff;
@@ -139,9 +139,9 @@ TRYAGAIN:
        /* Iterate through the message list looking for vCards */
        while (stuff != NULL) {
                serv_printf("MSG0 %ld|2", stuff->msgnum);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0]=='1') {
-                       while(serv_gets(buf), strcmp(buf, "000")) {
+                       while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                                if (!strncasecmp(buf, "part=", 5)) {
                                        extract_token(partnum, &buf[5], 2, '|', sizeof partnum);
                                        extract_token(content_type, &buf[5], 4, '|', sizeof content_type);
@@ -162,7 +162,7 @@ TRYAGAIN:
        if (vcard_msgnum < 0) if (already_tried_creating_one == 0) {
                already_tried_creating_one = 1;
                serv_puts("ENT0 1|||4");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '4') {
                        serv_puts("Content-type: text/x-vcard");
                        serv_puts("");
@@ -189,12 +189,12 @@ void display_edit_address_book_entry(char *username, long usernum) {
        /* Locate the user's config room, creating it if necessary */
        sprintf(roomname, "%010ld.%s", usernum, USERCONFIGROOM);
        serv_printf("GOTO %s||1", roomname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                serv_printf("CRE8 1|%s|5|||1|", roomname);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                serv_printf("GOTO %s||1", roomname);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        sprintf(error_message,
                                "<IMG SRC=\"static/error.gif\" ALIGN=CENTER>"
@@ -253,7 +253,7 @@ void display_edituser(char *supplied_username, int is_new) {
        }
 
        serv_printf("AGUP %s", username);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                sprintf(error_message,
                        "<IMG SRC=\"static/error.gif\" ALIGN=CENTER>"
@@ -395,7 +395,7 @@ void edituser(void) {
                        bstr("lastcall"),
                        bstr("purgedays")
                );
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        sprintf(message,
                                "<IMG SRC=\"static/error.gif\" ALIGN=CENTER>"
@@ -423,7 +423,7 @@ void delete_user(char *username) {
        char message[SIZ];
 
        serv_printf("ASUP %s|0|0|0|0|0|", username);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                sprintf(message,
                        "<IMG SRC=\"static/error.gif\" ALIGN=CENTER>"
@@ -446,7 +446,7 @@ void create_user(void) {
        strcpy(username, bstr("username"));
 
        serv_printf("CREU %s", username);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
 
        if (buf[0] == '2') {
                /* sprintf(error_message, "<b>User has been created.</b>");
index 69a4c2e88b940dc5cc604773b8ecad1f781622d3..7347db4da34f718a86886dd24ef9e6b6b0160024 100644 (file)
@@ -46,9 +46,9 @@ void userlist(void)
        int bg = 0;
 
        serv_puts("LBIO");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1')
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        bptr = (struct namelist *) malloc(sizeof(struct namelist));
                        bptr->next = bio;
                        strcpy(bptr->name, buf);
@@ -65,7 +65,7 @@ void userlist(void)
        );
 
        serv_puts("LIST");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '1') {
                wprintf("<EM>%s</EM><br />\n", &buf[4]);
                goto DONE;
@@ -76,7 +76,7 @@ void userlist(void)
        wprintf("<TR><TH>User Name</TH><TH>Number</TH><TH>Access Level</TH>");
        wprintf("<TH>Last Login</TH><TH>Total Logins</TH><TH>Total Posts</TH></TR>\n");
 
-       while (serv_gets(buf), strcmp(buf, "000")) {
+       while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                extract_token(fl, buf, 0, '|', sizeof fl);
                has_bio = 0;
                for (bptr = bio; bptr != NULL; bptr = bptr->next) {
@@ -139,11 +139,11 @@ void showuser(void)
                "<table border=0 width=100%% bgcolor=\"#ffffff\"><tr><td>\n");
 
        serv_printf("OIMG _userpic_|%s", who);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                have_pic = 1;
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
        } else {
                have_pic = 0;
        }
@@ -156,7 +156,7 @@ void showuser(void)
        }
        wprintf("</TD><TD><H1>%s</H1></TD></TR></TABLE></CENTER>\n", who);
        serv_printf("RBIO %s", who);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
                fmout(NULL, "JUSTIFY");
        }
index fbc271174bed7a1f93c9ea00e82ce958d36c8871..0c70975b0c6a7710807709ced164e0ced3dc6448 100644 (file)
@@ -86,12 +86,12 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
        if (msgnum >= 0) {
                sprintf(buf, "MSG0 %ld|1", msgnum);
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '1') {
                        convenience_page("770000", "Error", &buf[4]);
                        return;
                }
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        if (!strncasecmp(buf, "from=", 5)) {
                                strcpy(whatuser, &buf[5]);
                        }
@@ -103,7 +103,7 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
        
                sprintf(buf, "OPNA %ld|%s", msgnum, partnum);
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        convenience_page("770000", "Error", &buf[4]);
                        return;
@@ -115,7 +115,7 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
                read_server_binary(serialized_vcard, total_len);
        
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                serialized_vcard[total_len] = 0;
        
                v = vcard_load(serialized_vcard);
@@ -342,7 +342,7 @@ void submit_vcard(void) {
 
        sprintf(buf, "ENT0 1|||4||");
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '4') {
                edit_vcard();
                return;
index b615dbc5a81bf43d1575fde006f3c8583fbbb854..af8b4fbd73f2d982b69561eb4bc8534851e563c8 100644 (file)
@@ -469,7 +469,7 @@ void check_for_instant_messages()
        char buf[SIZ];
 
        serv_puts("NOOP");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[3] == '*') WC->HaveInstantMessages = 1;
 }
 
@@ -602,7 +602,7 @@ void output_image()
        off_t bytes;
 
        serv_printf("OIMG %s|%s", bstr("name"), bstr("parm"));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                bytes = extract_long(&buf[4], 0);
                xferbuf = malloc(bytes + 2);
@@ -610,7 +610,7 @@ void output_image()
                /* Read it from the server */
                read_server_binary(xferbuf, bytes);
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
 
                /* Write it to the browser */
                http_transmit_thing(xferbuf, (size_t)bytes, "image/gif", 0);
@@ -649,7 +649,7 @@ void output_mimepart()
        char *content = NULL;
        
        serv_printf("OPNA %s|%s", bstr("msgnum"), bstr("partnum"));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                bytes = extract_long(&buf[4], 0);
                content = malloc(bytes + 2);
@@ -657,7 +657,7 @@ void output_mimepart()
                output_headers(0, 0, 0, 0, 0, 0, 0);
                read_server_binary(content, bytes);
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                http_transmit_thing(content, bytes, content_type, 0);
                free(content);
        } else {
@@ -681,7 +681,7 @@ char *load_mimepart(long msgnum, char *partnum)
        char *content;
        
        serv_printf("OPNA %ld|%s", msgnum, partnum);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                bytes = extract_long(&buf[4], 0);
                extract_token(content_type, &buf[4], 3, '|', sizeof content_type);
@@ -690,7 +690,7 @@ char *load_mimepart(long msgnum, char *partnum)
                read_server_binary(content, bytes);
 
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                content[bytes] = 0;     /* null terminate for good measure */
                return(content);
        }
@@ -1012,7 +1012,7 @@ void session_loop(struct httprequest *req)
                }
                else {
                        WC->connected = 1;
-                       serv_gets(buf); /* get the server welcome message */
+                       serv_getln(buf, sizeof buf);    /* get the server welcome message */
                        locate_host(browser_host, WC->http_sock);
                        get_serv_info(browser_host, user_agent);
                        if (serv_info.serv_rev_level < MINIMUM_CIT_VERSION) {
@@ -1054,10 +1054,10 @@ void session_loop(struct httprequest *req)
           && (strlen(c_httpauth_user) > 0)
           && (strlen(c_httpauth_pass) > 0)) {
                serv_printf("USER %s", c_httpauth_user);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '3') {
                        serv_printf("PASS %s", c_httpauth_pass);
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '2') {
                                become_logged_in(c_httpauth_user,
                                                c_httpauth_pass, buf);
@@ -1101,10 +1101,10 @@ void session_loop(struct httprequest *req)
           && (strlen(c_username) > 0)
           && (strlen(c_password) > 0)) {
                serv_printf("USER %s", c_username);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '3') {
                        serv_printf("PASS %s", c_password);
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '2') {
                                become_logged_in(c_username, c_password, buf);
                        }
@@ -1116,7 +1116,7 @@ void session_loop(struct httprequest *req)
         */
        if ((strlen(WC->wc_roomname) == 0) && (strlen(c_roomname) > 0)) {
                serv_printf("GOTO %s", c_roomname);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        strcpy(WC->wc_roomname, c_roomname);
                }
index e9747c083943ac47b55b0e6b1a94741915a18de1..b4cb23bebe33761f560f96e29b9108e48f925498 100644 (file)
@@ -279,7 +279,7 @@ void ungoto(void);
 void get_serv_info(char *, char *);
 int uds_connectsock(char *);
 int tcp_connectsock(char *, char *);
-void serv_gets(char *strbuf);
+void serv_getln(char *strbuf, int bufsize);
 void serv_puts(char *string);
 void whobbs(void);
 void fmout(FILE *fp, char *align);
index c3bb03f868d59888bc5057be0143ce7d04da3372..3b833d10cf79e91321d80a98906ffee8d62fc3ee 100644 (file)
@@ -71,7 +71,7 @@ void whobbs(void)
        wprintf("<TH>From host</TH>\n</TR>\n");
 
        serv_puts("TIME");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '2') {
                now = extract_long(&buf[4], 0);
        }
@@ -80,9 +80,9 @@ void whobbs(void)
        }
 
        serv_puts("RWHO");
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] == '1') {
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        sess = extract_int(buf, 0);
                        extract_token(user, buf, 1, '|', sizeof user);
                        extract_token(room, buf, 2, '|', sizeof room);
@@ -175,7 +175,7 @@ void terminate_session(void)
        char buf[SIZ];
 
        serv_printf("TERM %s", bstr("which_session"));
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        whobbs();
 }
 
@@ -189,15 +189,15 @@ void edit_me(void)
 
        if (!strcasecmp(bstr("sc"), "Change room name")) {
                serv_printf("RCHG %s", bstr("fake_roomname"));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                http_redirect("/whobbs");
        } else if (!strcasecmp(bstr("sc"), "Change host name")) {
                serv_printf("HCHG %s", bstr("fake_hostname"));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                http_redirect("/whobbs");
        } else if (!strcasecmp(bstr("sc"), "Change user name")) {
                serv_printf("UCHG %s", bstr("fake_username"));
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                http_redirect("/whobbs");
        } else if (!strcasecmp(bstr("sc"), "Cancel")) {
                http_redirect("/whobbs");