BSD 4_3_Tahoe release
[unix-history] / usr / src / lib / libc / stdio / fprintf.c
index f9c9571..9cdad00 100644 (file)
@@ -1,23 +1,45 @@
-/* @(#)fprintf.c       4.3 (Berkeley) %G% */
-#include       <stdio.h>
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)fprintf.c  5.4 (Berkeley) 6/27/88";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
 
 fprintf(iop, fmt, args)
 
 fprintf(iop, fmt, args)
-FILE *iop;
-char *fmt;
+       register FILE *iop;
+       char *fmt;
+       int args;
 {
 {
+       int len;
        char localbuf[BUFSIZ];
 
        if (iop->_flag & _IONBF) {
                iop->_flag &= ~_IONBF;
                iop->_ptr = iop->_base = localbuf;
                iop->_bufsiz = BUFSIZ;
        char localbuf[BUFSIZ];
 
        if (iop->_flag & _IONBF) {
                iop->_flag &= ~_IONBF;
                iop->_ptr = iop->_base = localbuf;
                iop->_bufsiz = BUFSIZ;
-               _doprnt(fmt, &args, iop);
+               len = _doprnt(fmt, &args, iop);
                fflush(iop);
                iop->_flag |= _IONBF;
                iop->_base = NULL;
                iop->_bufsiz = NULL;
                iop->_cnt = 0;
        } else
                fflush(iop);
                iop->_flag |= _IONBF;
                iop->_base = NULL;
                iop->_bufsiz = NULL;
                iop->_cnt = 0;
        } else
-               _doprnt(fmt, &args, iop);
-       return(ferror(iop)? EOF: 0);
+               len = _doprnt(fmt, &args, iop);
+       return(ferror(iop) ? EOF : len);
 }
 }