date and time created 83/07/17 15:19:07 by edward
authorEdward Wang <edward@ucbvax.Berkeley.EDU>
Mon, 18 Jul 1983 06:19:07 +0000 (22:19 -0800)
committerEdward Wang <edward@ucbvax.Berkeley.EDU>
Mon, 18 Jul 1983 06:19:07 +0000 (22:19 -0800)
SCCS-vsn: usr.bin/window/wwprintf.c 1.1

usr/src/usr.bin/window/wwprintf.c [new file with mode: 0644]

diff --git a/usr/src/usr.bin/window/wwprintf.c b/usr/src/usr.bin/window/wwprintf.c
new file mode 100644 (file)
index 0000000..e944c07
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef lint
+static char *sccsid = "@(#)wwprintf.c  1.1 83/07/17";
+#endif
+
+#include "ww.h"
+
+wwprintf(w, fmt, args)
+struct ww *w;
+char *fmt;
+{
+       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);
+}
+
+#ifdef notdef
+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--;
+       }
+}
+#endif