cechew@bruce.OZ (Earl Chew) (09/05/89)
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 3 (of 5)."
# Contents: fwrite.c.cdif printf.c.cdif proto.h.cdif scanf.c.cdif
# sprintf.c.cdif sscanf.c.cdif stdio.c.cdif
# Wrapped by cechew@bruce on Tue Sep 5 16:55:08 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'fwrite.c.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'fwrite.c.cdif'\"
else
echo shar: Extracting \"'fwrite.c.cdif'\" \(4960 characters\)
sed "s/^X//" >'fwrite.c.cdif' <<'END_OF_FILE'
X*** Old/fwrite.c Mon Sep 4 11:03:50 1989
X--- New/fwrite.c Mon Sep 4 22:57:40 1989
X***************
X*** 5,11
X * Writing stops when the correct number of items have been written
X * or when the function encounters an error.
X *
X! * Patchlevel 1.0
X *
X * Edit History:
X * 04-Sep-1989 Add code to deal with really large objects.
X
X--- 5,11 -----
X * Writing stops when the correct number of items have been written
X * or when the function encounters an error.
X *
X! * Patchlevel 1.1
X *
X * Edit History:
X * 05-Sep-1989 Include limits.h if INT_MAX undefined so removing
X***************
X*** 8,13
X * Patchlevel 1.0
X *
X * Edit History:
X * 04-Sep-1989 Add code to deal with really large objects.
X * 03-Sep-1989 Write to buffer only if it requires at most one call
X * to write(), otherwise use write() directly.
X
X--- 8,16 -----
X * Patchlevel 1.1
X *
X * Edit History:
X+ * 05-Sep-1989 Include limits.h if INT_MAX undefined so removing
X+ * need to define MINIX when compiling. Assign void *
X+ * to unsigned char * to avoid casting problems.
X * 04-Sep-1989 Add code to deal with really large objects.
X * 03-Sep-1989 Write to buffer only if it requires at most one call
X * to write(), otherwise use write() directly.
X***************
X*** 22,28
X # define INT_MAX (MAXINT)
X #endif
X
X! #if defined(MINIX) || defined(MSDOS) || defined(__MSDOS__)
X # include <limits.h>
X #endif
X
X
X--- 25,31 -----
X # define INT_MAX (MAXINT)
X #endif
X
X! #if !defined(INT_MAX)
X # include <limits.h>
X #endif
X
X***************
X*** 28,34
X
X /*LINTLIBRARY*/
X
X! int fwrite(p, size, nitems, fp)
X
X void *p; /* buffer */
X unsigned int size; /* size of item */
X
X--- 31,37 -----
X
X /*LINTLIBRARY*/
X
X! int fwrite(ptr, size, nitems, fp)
X
X void *ptr; /* buffer */
X unsigned int size; /* size of item */
X***************
X*** 30,36
X
X int fwrite(p, size, nitems, fp)
X
X! void *p; /* buffer */
X unsigned int size; /* size of item */
X unsigned int nitems; /* number of items */
X FILE *fp; /* stream */
X
X--- 33,39 -----
X
X int fwrite(ptr, size, nitems, fp)
X
X! void *ptr; /* buffer */
X unsigned int size; /* size of item */
X unsigned int nitems; /* number of items */
X FILE *fp; /* stream */
X***************
X*** 38,43
X {
X int wrote; /* bytes written in write call */
X int write(); /* write call */
X
X /* Phase 1 --- Amount to write overflows INT_MAX */
X unsigned int burstsize; /* size aligned chunk to write */
X
X--- 41,47 -----
X {
X int wrote; /* bytes written in write call */
X int write(); /* write call */
X+ unsigned char *p; /* buffer pointer */
X
X /* Phase 1 --- Amount to write overflows INT_MAX */
X unsigned int burstsize; /* size aligned chunk to write */
X***************
X*** 54,59
X if ((itemsleft = nitems) == 0 || size == 0)
X return 0;
X
X /* Very large objects */
X if ((itemsperburst = INT_MAX / size) == 0) {
X (void) fflush(fp);
X
X--- 58,66 -----
X if ((itemsleft = nitems) == 0 || size == 0)
X return 0;
X
X+ /* Fix void * casting problems */
X+ p = (unsigned char *) ptr;
X+
X /* Very large objects */
X if ((itemsperburst = INT_MAX / size) == 0) {
X (void) fflush(fp);
X***************
X*** 65,71
X if ((wrote = write(fileno(fp), (char *) p, (int) burstsize)) !=
X burstsize)
X return (nitems-itemsleft);
X! p = (void *) ((unsigned char *) p + burstsize);
X } while ((bytesleft -= burstsize) != 0);
X } while (--itemsleft);
X return nitems;
X
X--- 72,78 -----
X if ((wrote = write(fileno(fp), (char *) p, (int) burstsize)) !=
X burstsize)
X return (nitems-itemsleft);
X! p += burstsize;
X } while ((bytesleft -= burstsize) != 0);
X } while (--itemsleft);
X return nitems;
X***************
X*** 80,86
X wrote = 0;
X return (nitems-itemsleft) + (wrote/size);
X }
X! p = (void *) ((unsigned char *) p + burstsize);
X itemsleft -= itemsperburst;
X }
X
X
X--- 87,93 -----
X wrote = 0;
X return (nitems-itemsleft) + (wrote/size);
X }
X! p += burstsize;
X itemsleft -= itemsperburst;
X }
X
X***************
X*** 95,101
X if (! HASBUFFER(fp)) {
X if (_allocbuf(fp) < 0)
X return (nitems-itemsleft);
X! SETCLEANUP();
X }
X
X /* Partially filled write buffer */
X
X--- 102,108 -----
X if (! HASBUFFER(fp)) {
X if (_allocbuf(fp) < 0)
X return (nitems-itemsleft);
X! SETIOFLUSH();
X }
X
X /* Partially filled write buffer */
X***************
X*** 106,112
X copybytes = bytesleft;
X wrote = copybytes;
X q = GETWRITEPTR(fp);
X! UNROLL_DO(fwritebytes, copybytes, (*q++ = *((unsigned char *) p)++));
X SETWRITEPTR(fp, q);
X if (bytesleft > wrote && fflush(fp) == EOF)
X break;
X
X--- 113,119 -----
X copybytes = bytesleft;
X wrote = copybytes;
X q = GETWRITEPTR(fp);
X! UNROLL_DO(fwritebytes, copybytes, *q++ = *p++);
X SETWRITEPTR(fp, q);
X if (bytesleft > wrote && fflush(fp) == EOF)
X break;
END_OF_FILE
if test 4960 -ne `wc -c <'fwrite.c.cdif'`; then
echo shar: \"'fwrite.c.cdif'\" unpacked with wrong size!
fi
# end of 'fwrite.c.cdif'
fi
if test -f 'printf.c.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'printf.c.cdif'\"
else
echo shar: Extracting \"'printf.c.cdif'\" \(282 characters\)
sed "s/^X//" >'printf.c.cdif' <<'END_OF_FILE'
X*** Old/printf.c Sun Sep 3 13:57:30 1989
X--- New/printf.c Tue Sep 5 15:44:43 1989
X***************
X*** 12,17
X
X /*LINTLIBRARY*/
X /*VARARGS1*/
X
X int printf(fmt, va_alist)
X
X
X--- 12,18 -----
X
X /*LINTLIBRARY*/
X /*VARARGS1*/
X+ /*ARGSUSED*/
X
X int printf(fmt, va_alist)
X
END_OF_FILE
if test 282 -ne `wc -c <'printf.c.cdif'`; then
echo shar: \"'printf.c.cdif'\" unpacked with wrong size!
fi
# end of 'printf.c.cdif'
fi
if test -f 'proto.h.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'proto.h.cdif'\"
else
echo shar: Extracting \"'proto.h.cdif'\" \(538 characters\)
sed "s/^X//" >'proto.h.cdif' <<'END_OF_FILE'
X*** Old/proto.h Sun Sep 3 13:59:24 1989
X--- /dev/null Tue Sep 5 16:22:51 1989
X***************
X*** 1,19
X- /*
X- * ANSI Prototyping
X- *
X- * This file declares macros that are useful for conditionally
X- * providing ANSI function prototypes.
X- */
X-
X- #ifndef __PROTOTYPE_H__
X- # define __PROTOTYPE_H__
X- # ifdef __STDC__
X- # define Prototype(x) x
X- # define Type(x,y) x
X- # define Declare(x)
X- # else
X- # define Prototype(x) ()
X- # define Type(x,y) y
X- # define Declare(x) x;
X- # endif
X- #endif
X
X--- 0 -----
END_OF_FILE
if test 538 -ne `wc -c <'proto.h.cdif'`; then
echo shar: \"'proto.h.cdif'\" unpacked with wrong size!
fi
# end of 'proto.h.cdif'
fi
if test -f 'scanf.c.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'scanf.c.cdif'\"
else
echo shar: Extracting \"'scanf.c.cdif'\" \(278 characters\)
sed "s/^X//" >'scanf.c.cdif' <<'END_OF_FILE'
X*** Old/scanf.c Sun Sep 3 13:57:52 1989
X--- New/scanf.c Tue Sep 5 15:44:53 1989
X***************
X*** 12,17
X
X /*LINTLIBRARY*/
X /*VARARGS1*/
X
X int scanf(fmt, va_alist)
X
X
X--- 12,18 -----
X
X /*LINTLIBRARY*/
X /*VARARGS1*/
X+ /*ARGSUSED*/
X
X int scanf(fmt, va_alist)
X
END_OF_FILE
if test 278 -ne `wc -c <'scanf.c.cdif'`; then
echo shar: \"'scanf.c.cdif'\" unpacked with wrong size!
fi
# end of 'scanf.c.cdif'
fi
if test -f 'sprintf.c.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'sprintf.c.cdif'\"
else
echo shar: Extracting \"'sprintf.c.cdif'\" \(296 characters\)
sed "s/^X//" >'sprintf.c.cdif' <<'END_OF_FILE'
X*** Old/sprintf.c Sun Sep 3 13:58:10 1989
X--- New/sprintf.c Tue Sep 5 15:45:07 1989
X***************
X*** 14,19
X
X /*LINTLIBRARY*/
X /*VARARGS2*/
X
X int sprintf(buf, fmt, va_alist)
X
X
X--- 14,20 -----
X
X /*LINTLIBRARY*/
X /*VARARGS2*/
X+ /*ARGSUSED*/
X
X int sprintf(buf, fmt, va_alist)
X
END_OF_FILE
if test 296 -ne `wc -c <'sprintf.c.cdif'`; then
echo shar: \"'sprintf.c.cdif'\" unpacked with wrong size!
fi
# end of 'sprintf.c.cdif'
fi
if test -f 'sscanf.c.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'sscanf.c.cdif'\"
else
echo shar: Extracting \"'sscanf.c.cdif'\" \(292 characters\)
sed "s/^X//" >'sscanf.c.cdif' <<'END_OF_FILE'
X*** Old/sscanf.c Sun Sep 3 13:58:16 1989
X--- New/sscanf.c Tue Sep 5 15:45:14 1989
X***************
X*** 12,17
X
X /*LINTLIBRARY*/
X /*VARARGS2*/
X
X int sscanf(buf, fmt, va_alist)
X
X
X--- 12,18 -----
X
X /*LINTLIBRARY*/
X /*VARARGS2*/
X+ /*ARSGUSED*/
X
X int sscanf(buf, fmt, va_alist)
X
END_OF_FILE
if test 292 -ne `wc -c <'sscanf.c.cdif'`; then
echo shar: \"'sscanf.c.cdif'\" unpacked with wrong size!
fi
# end of 'sscanf.c.cdif'
fi
if test -f 'stdio.c.cdif' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'stdio.c.cdif'\"
else
echo shar: Extracting \"'stdio.c.cdif'\" \(1587 characters\)
sed "s/^X//" >'stdio.c.cdif' <<'END_OF_FILE'
X*** Old/stdio.c Mon Sep 4 08:56:40 1989
X--- New/stdio.c Tue Sep 5 16:39:17 1989
X***************
X*** 33,41
X * clearerr
X *
X * This file contains basic data structure declarations for the stdio
X! * package. Runtime cleanup is done by _cleanup. This is inserted into
X! * exit by _flsbuf since cleanup is only required if streams are
X! * written to.
X *
X * Patchlevel 1.0
X *
X
X--- 33,39 -----
X * clearerr
X *
X * This file contains basic data structure declarations for the stdio
X! * package. Runtime cleanup is done by _ioflush.
X *
X * Patchlevel 1.1
X *
X***************
X*** 37,43
X * exit by _flsbuf since cleanup is only required if streams are
X * written to.
X *
X! * Patchlevel 1.0
X *
X * Edit History:
X */
X
X--- 35,41 -----
X * This file contains basic data structure declarations for the stdio
X * package. Runtime cleanup is done by _ioflush.
X *
X! * Patchlevel 1.1
X *
X * Edit History:
X * 05-Sep-1989 Add _wrapstdio for cleaner system interface via
X***************
X*** 40,45
X * Patchlevel 1.0
X *
X * Edit History:
X */
X
X #if defined(MSDOS)
X
X--- 38,45 -----
X * Patchlevel 1.1
X *
X * Edit History:
X+ * 05-Sep-1989 Add _wrapstdio for cleaner system interface via
X+ * atexit().
X */
X
X #if defined(MSDOS)
X***************
X*** 55,59
X struct _iobuf *_iop[_NFILE] = {&_stdin, &_stdout, &_stderr};
X
X #if defined(MSDOS)
X extern int _fmode = O_BINARY;
X #endif
X
X--- 55,60 -----
X struct _iobuf *_iop[_NFILE] = {&_stdin, &_stdout, &_stderr};
X
X #if defined(MSDOS)
X+ int _wrapstdio = 1;
X extern int _fmode = O_BINARY;
X #endif
END_OF_FILE
if test 1587 -ne `wc -c <'stdio.c.cdif'`; then
echo shar: \"'stdio.c.cdif'\" unpacked with wrong size!
fi
# end of 'stdio.c.cdif'
fi
echo shar: End of archive 3 \(of 5\).
cp /dev/null ark3isdone
MISSING=""
for I in 1 2 3 4 5 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 5 archives.
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0