ANSI
[unix-history] / usr / src / usr.bin / window / wwprintf.c
index 40f58fe..9862274 100644 (file)
@@ -1,57 +1,31 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Edward Wang at The University of California, Berkeley.
+ *
+ * %sccs.include.redist.c%
+ */
+
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)wwprintf.c  1.3 83/07/19";
-#endif
+static char sccsid[] = "@(#)wwprintf.c 3.11 (Berkeley) %G%";
+#endif /* not lint */
 
 #include "ww.h"
 
 #include "ww.h"
+#include <varargs.h>
 
 
-wwprintf(w, fmt, args)
+/*VARARGS2*/
+wwprintf(w, fmt, va_alist)
 struct ww *w;
 char *fmt;
 struct ww *w;
 char *fmt;
+va_dcl
 {
 {
-       struct _iobuf _wwbuf;
-       static char buf[1024];
-
-       /*
-        * A danger is that when buf overflows, _flsbuf() will be
-        * called automatically.  It doesn't check for _IOSTR.
-        * We set the file descriptor to -1 so no actual io will be done.
-        */
-       _wwbuf._flag = _IOWRT+_IOSTRG;
-       _wwbuf._base = _wwbuf._ptr = buf;
-       _wwbuf._cnt = sizeof buf;
-       _wwbuf._file = -1;                      /* safe */
-       _doprnt(fmt, &args, &_wwbuf);
-       return wwwrite(w, buf, _wwbuf._ptr - buf);
-}
+       char buf[1024];
+       va_list ap;
 
 
-/*
-wwprintf(w, fmt, args)
-struct ww *w;
-char *fmt;
-{
-       _doprnt(fmt, &args, w);
-       return 0;
-}
-
-_strout(count, string, adjust, file, fillch)
-register char *string;
-register count;
-int adjust;
-register struct ww *file;
-{
-       while (adjust < 0) {
-               if (*string=='-' && fillch=='0') {
-                       wputc(*string++, file);
-                       count--;
-               }
-               wputc(fillch, file);
-               adjust++;
-       }
-       while (--count>=0)
-               wputc(*string++, file);
-       while (adjust) {
-               wputc(fillch, file);
-               adjust--;
-       }
+       va_start(ap);
+       /* buffer can overflow */
+       (void) wwwrite(w, buf, vsprintf(buf, fmt, ap));
+       va_end(ap);
 }
 }
-*/