]> code.citadel.org Git - citadel.git/commitdiff
* sysdep.c (cprintf): generate a newline on truncated buffer
authorNathan Bryant <loanshark@uncensored.citadel.org>
Fri, 16 Oct 1998 17:39:45 +0000 (17:39 +0000)
committerNathan Bryant <loanshark@uncensored.citadel.org>
Fri, 16 Oct 1998 17:39:45 +0000 (17:39 +0000)
citadel/ChangeLog
citadel/sysdep.c

index c683d66cbd2cc36c888e9752a2ff7b96af11c14a..d4ca51e49b0282a06e981b23e3e17072edbf803b 100644 (file)
@@ -1,3 +1,6 @@
+1998-10-16 Nathan Bryant <bryant@cs.usm.maine.edu>
+       * sysdep.c (cprintf): generate a newline on truncated buffer
+
 Thu Oct 15 19:27:32 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * msgbase.c: reimplemented cmd_move()
          room_ops.c: wrote AddMessageToRoom() which is used for both entering
index 512e6eb5aadd0281f38bb3d84245e21d5b20886b..e3ef4c28c783cd2865cd8909e301248c99fc9c30 100644 (file)
@@ -347,13 +347,12 @@ void client_write(char *buf, int nbytes)
 void cprintf(const char *format, ...) {   
         va_list arg_ptr;   
         char buf[256];   
-        int rc;   
    
         va_start(arg_ptr, format);   
-        rc = vsnprintf(buf, sizeof buf, format, arg_ptr);   
-        va_end(arg_ptr);   
-  
+        if (vsnprintf(buf, sizeof buf, format, arg_ptr) == -1)
+               buf[sizeof buf - 2] = '\n';
        client_write(buf, strlen(buf)); 
+       va_end(arg_ptr);
        }