X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/b767c045542848f3835e0178251874f7ce9f163f..a53426fff2b78ebc6a82a4869810f44d7d5204c5:/usr/src/include/stdio.h diff --git a/usr/src/include/stdio.h b/usr/src/include/stdio.h index 55adeaee31..3a9117ae4d 100644 --- a/usr/src/include/stdio.h +++ b/usr/src/include/stdio.h @@ -1,16 +1,21 @@ -/* stdio.h 1.5 83/08/11 */ -#define BUFSIZ 1024 -#define _NFILE 20 +/* + * Copyright (c) 1980 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + * + * @(#)stdio.h 5.4 (Berkeley) %G% + */ + # ifndef FILE +#define BUFSIZ 1024 extern struct _iobuf { int _cnt; - char *_ptr; - char *_base; + char *_ptr; /* should be unsigned char */ + char *_base; /* ditto */ int _bufsiz; short _flag; - char _file; -} _iob[_NFILE]; -# endif + char _file; /* should be short */ +} _iob[]; #define _IOREAD 01 #define _IOWRT 02 @@ -28,19 +33,31 @@ extern struct _iobuf { #define stdin (&_iob[0]) #define stdout (&_iob[1]) #define stderr (&_iob[2]) -#define getc(p) (--(p)->_cnt>=0? *(p)->_ptr++&0377:_filbuf(p)) +#ifndef lint +#define getc(p) (--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p)) +#endif not lint #define getchar() getc(stdin) -#define putc(x,p) (--(p)->_cnt>=0? ((int)(*(p)->_ptr++=(unsigned)(x))):_flsbuf((unsigned)(x),p)) +#ifndef lint +#define putc(x, p) (--(p)->_cnt >= 0 ?\ + (int)(*(unsigned char *)(p)->_ptr++ = (x)) :\ + (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\ + ((*(p)->_ptr = (x)) != '\n' ?\ + (int)(*(unsigned char *)(p)->_ptr++) :\ + _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\ + _flsbuf((unsigned char)(x), p))) +#endif not lint #define putchar(x) putc(x,stdout) #define feof(p) (((p)->_flag&_IOEOF)!=0) #define ferror(p) (((p)->_flag&_IOERR)!=0) #define fileno(p) ((p)->_file) +#define clearerr(p) ((p)->_flag &= ~(_IOERR|_IOEOF)) FILE *fopen(); FILE *fdopen(); FILE *freopen(); +FILE *popen(); long ftell(); char *fgets(); -#ifdef vax -char *sprintf(); /* too painful to do right */ -#endif +char *gets(); +int sprintf(); /* here until everyone does it right */ +# endif