This version (appears to) works.
authorGregory Minshall <minshall@ucbvax.Berkeley.EDU>
Sun, 11 Oct 1987 08:11:09 +0000 (00:11 -0800)
committerGregory Minshall <minshall@ucbvax.Berkeley.EDU>
Sun, 11 Oct 1987 08:11:09 +0000 (00:11 -0800)
SCCS-vsn: usr.bin/telnet/defines.h 1.3
SCCS-vsn: usr.bin/telnet/network.c 1.4

usr/src/usr.bin/telnet/defines.h
usr/src/usr.bin/telnet/network.c

index 9be754f..509839c 100644 (file)
@@ -8,13 +8,13 @@
 
 #endif /* !defined(TN3270) */
 
 
 #endif /* !defined(TN3270) */
 
-#define        NETADD(c)       { *netoring.send = c; ring_added(&netoring, 1); }
+#define        NETADD(c)       { *netoring.add = c; ring_added(&netoring, 1); }
 #define        NET2ADD(c1,c2)  { NETADD(c1); NETADD(c2); }
 #define        NETBYTES()      (ring_unsent_count(&netoring))
 #define        NETROOM()       (ring_empty_count(&netoring))
 
 #define        TTYADD(c)       if (!(SYNCHing||flushout)) { \
 #define        NET2ADD(c1,c2)  { NETADD(c1); NETADD(c2); }
 #define        NETBYTES()      (ring_unsent_count(&netoring))
 #define        NETROOM()       (ring_empty_count(&netoring))
 
 #define        TTYADD(c)       if (!(SYNCHing||flushout)) { \
-                               *ttyoring.send = c; \
+                               *ttyoring.add = c; \
                                ring_added(&ttyoring, 1); \
                        }
 #define        TTYBYTES()      (ring_unsent_count(&ttyoring))
                                ring_added(&ttyoring, 1); \
                        }
 #define        TTYBYTES()      (ring_unsent_count(&ttyoring))
index 7310b75..dec8f52 100644 (file)
@@ -223,24 +223,31 @@ va_dcl
 {
     va_list ap;
     char buffer[100];          /* where things go */
 {
     va_list ap;
     char buffer[100];          /* where things go */
-    char *ptr = buffer;
+    char *ptr;
     char *format;
     char *format;
+    char *string;
     int i;
 
     va_start(ap);
 
     format = va_arg(ap, char *);
     int i;
 
     va_start(ap);
 
     format = va_arg(ap, char *);
+    ptr = buffer;
 
     while ((i = *format++) != 0) {
        if (i == '%') {
            i = *format++;
            switch (i) {
            case 'c':
 
     while ((i = *format++) != 0) {
        if (i == '%') {
            i = *format++;
            switch (i) {
            case 'c':
-               i = va_arg(ap, char);
-               NETADD(i);
+               *ptr++ = va_arg(ap, int);
+               break;
+           case 's':
+               string = va_arg(ap, char *);
+               ring_add_data(&netoring, buffer, ptr-buffer);
+               ring_add_data(&netoring, string, strlen(string));
+               ptr = buffer;
                break;
            case 0:
                break;
            case 0:
-               ExitString("netoprint: trailing %.\n", 1);
+               ExitString("netoprint: trailing %%.\n", 1);
                /*NOTREACHED*/
            default:
                ExitString("netoprint: unknown format character.\n", 1);
                /*NOTREACHED*/
            default:
                ExitString("netoprint: unknown format character.\n", 1);