changed system-calls to avoid namespace pollution
authoreck <none@none>
Mon, 22 Jan 1990 11:13:26 +0000 (11:13 +0000)
committereck <none@none>
Mon, 22 Jan 1990 11:13:26 +0000 (11:13 +0000)
16 files changed:
lang/cem/libcc.ansi/stdio/doscan.c
lang/cem/libcc.ansi/stdio/fclose.c
lang/cem/libcc.ansi/stdio/fflush.c
lang/cem/libcc.ansi/stdio/fillbuf.c
lang/cem/libcc.ansi/stdio/flushbuf.c
lang/cem/libcc.ansi/stdio/fopen.c
lang/cem/libcc.ansi/stdio/freopen.c
lang/cem/libcc.ansi/stdio/fseek.c
lang/cem/libcc.ansi/stdio/ftell.c
lang/cem/libcc.ansi/stdio/isatty.c
lang/cem/libcc.ansi/stdio/loc_incl.h
lang/cem/libcc.ansi/stdio/remove.c
lang/cem/libcc.ansi/stdio/rename.c
lang/cem/libcc.ansi/stdio/setvbuf.c
lang/cem/libcc.ansi/stdio/tmpfile.c
lang/cem/libcc.ansi/stdio/tmpnam.c

index 169b6e0..8ec2690 100644 (file)
@@ -240,12 +240,14 @@ _doscan(register FILE *stream, const char *format, va_list ap)
                case 'n':
                        if (ic != EOF) ungetc(ic, stream);
                        nrchars--;
-                       if (flags & FL_SHORT)
-                               *va_arg(ap, short *) = (short) nrchars;
-                       else if (flags & FL_LONG)
-                               *va_arg(ap, long *) = (long) nrchars;
-                       else
-                               *va_arg(ap, int *) = (int) nrchars;
+                       if (!(flags & FL_NOASSIGN)) {
+                               if (flags & FL_SHORT)
+                                       *va_arg(ap, short *) = (short) nrchars;
+                               else if (flags & FL_LONG)
+                                       *va_arg(ap, long *) = (long) nrchars;
+                               else
+                                       *va_arg(ap, int *) = (int) nrchars;
+                       }
                        break;
                case 'b':               /* binary */
                case 'd':               /* decimal */
index c22c3dd..56bd0ac 100644 (file)
@@ -7,7 +7,7 @@
 #include       <stdlib.h>
 #include       "loc_incl.h"
 
-int close(int d);
+int _close(int d);
 
 int
 fclose(FILE *fp)
@@ -22,7 +22,7 @@ fclose(FILE *fp)
        if (i >= FOPEN_MAX)
                return EOF;
        if (fflush(fp)) retval = EOF;
-       if (close(fileno(fp))) retval = EOF;
+       if (_close(fileno(fp))) retval = EOF;
        if ( io_testflag(fp,_IOMYBUF) && fp->_buf )
                free((void *)fp->_buf);
        if (fp != stdin && fp != stdout && fp != stderr)
index 275a8a6..b738c8e 100644 (file)
@@ -6,7 +6,7 @@
 #include       <stdio.h>
 #include       "loc_incl.h"
 
-int write(int d, const char *buf, int nbytes);
+int _write(int d, const char *buf, int nbytes);
 
 int
 fflush(FILE *stream)
@@ -21,38 +21,46 @@ fflush(FILE *stream)
        }
 
        if (!stream->_buf
-           || io_testflag(stream, _IONBF)
-           || !io_testflag(stream, _IOWRITE)
-           || !io_testflag(stream, _IOWRITING)) 
+           || (!io_testflag(_IOREADING)
+               && !io_testflag(_IOWRITING)))
                return 0;
+       if (io_testflag(stream, _IOREADING)) {
+               (void) fseek(stream, 0L, SEEK_CUR);
+               return 0;
+       } else if (io_testflag(stream, _IONBF)) return 0;
 
        if (io_testflag(stream, _IOREAD))               /* "a" or "+" mode */
                stream->_flags &= ~_IOWRITING;
 
-       /*
-       if (io_testflag(stream, _IOLBF))
-               count = -stream->_count;
-       else    count = stream->_bufsiz - stream->_count;
-       */
        count = stream->_ptr - stream->_buf;
        stream->_ptr = stream->_buf;
 
        if ( count <= 0 )
                return 0;
 
-       c1 = write(stream->_fd, (char *)stream->_buf, count);
+       if (io_testflag(stream, _IOAPPEND)) {
+               if (lseek(fileno(stream), 0L, SEEK_END) == -1) {
+                       stream->_flags |= _IOERR;
+                       return EOF;
+               }
+       }
+       c1 = _write(stream->_fd, (char *)stream->_buf, count);
 
        stream->_count = 0;
 
-       /*
-       if(stream != stderr)
-               fprintf(stderr,"written %d bytes :\"%.*s\"\n"
-                               , c1, c1, stream->_buf);
-       */
-
        if ( count == c1 )
                return 0;
 
        stream->_flags |= _IOERR;
        return EOF; 
 }
+
+void
+__cleanup(void)
+{
+       register int i;
+
+       for(i= 0; i < FOPEN_MAX; i++)
+               if (__iotab[i] && io_testflag(__iotab[i], _IOWRITING))
+                       (void) fflush(__iotab[i]);
+}
index 3f1d735..c6b811e 100644 (file)
@@ -7,7 +7,7 @@
 #include       <stdlib.h>
 #include       "loc_incl.h"
 
-int read(int d, char *buf, int nbytes);
+int _read(int d, char *buf, int nbytes);
 
 int
 __fillbuf(register FILE *stream)
@@ -47,7 +47,7 @@ __fillbuf(register FILE *stream)
                stream->_bufsiz = 1;
        }
        stream->_ptr = stream->_buf;
-       stream->_count = read(stream->_fd, (char *)stream->_buf, stream->_bufsiz);
+       stream->_count = _read(stream->_fd, (char *)stream->_buf, stream->_bufsiz);
 
        if (stream->_count <= 0){
                if (stream->_count == 0) {
index 8baa4e0..9670ece 100644 (file)
@@ -9,15 +9,15 @@
 
 #include       <sys/types.h>
 
-off_t lseek(int fildes, off_t offset, int whence);
-int write(int d, const char *buf, int nbytes);
-int isatty(int d);
-extern int (*_fflush)(FILE *stream);
+off_t _lseek(int fildes, off_t offset, int whence);
+int _write(int d, const char *buf, int nbytes);
+int _isatty(int d);
+extern void (*_clean)(void);
 
 int
 __flushbuf(int c, FILE * stream)
 {
-       _fflush = fflush;
+       _clean = __cleanup;
        if (fileno(stream) < 0) return EOF;
        if (!io_testflag(stream, _IOWRITE)) return EOF;
        if (io_testflag(stream, _IOREADING) && !feof(stream)) return EOF;
@@ -26,7 +26,7 @@ __flushbuf(int c, FILE * stream)
        stream->_flags |= _IOWRITING;
        if (!io_testflag(stream, _IONBF)) {
                if (!stream->_buf) {
-                       if (stream == stdout && isatty(fileno(stdout))) {
+                       if (stream == stdout && _isatty(fileno(stdout))) {
                                if (!(stream->_buf =
                                            (unsigned char *) malloc(BUFSIZ))) {
                                        stream->_flags |= _IONBF;
@@ -55,12 +55,12 @@ __flushbuf(int c, FILE * stream)
 
                stream->_count = 0;
                if (io_testflag(stream, _IOAPPEND)) {
-                       if (lseek(fileno(stream), 0L, 2) == -1) {
+                       if (_lseek(fileno(stream), 0L, SEEK_END) == -1) {
                                stream->_flags |= _IOERR;
                                return EOF;
                        }
                }
-               if (write(fileno(stream), &c1, 1) != 1) {
+               if (_write(fileno(stream), &c1, 1) != 1) {
                        stream->_flags |= _IOERR;
                        return EOF;
                }
@@ -69,12 +69,12 @@ __flushbuf(int c, FILE * stream)
                *stream->_ptr++ = c;
                if (c == '\n' || stream->_count == -stream->_bufsiz) {
                        if (io_testflag(stream, _IOAPPEND)) {
-                               if (lseek(fileno(stream), 0L, 2) == -1) {
+                               if (_lseek(fileno(stream), 0L, SEEK_END) == -1) {
                                        stream->_flags |= _IOERR;
                                        return EOF;
                                }
                        }
-                       if (write(fileno(stream), (char *)stream->_buf,
+                       if (_write(fileno(stream), (char *)stream->_buf,
                                        -stream->_count) != -stream->_count) {
                                stream->_flags |= _IOERR;
                                return EOF;
@@ -91,12 +91,12 @@ __flushbuf(int c, FILE * stream)
 
                if (count > 0) {
                        if (io_testflag(stream, _IOAPPEND)) {
-                               if (lseek(fileno(stream), 0L, 2) == -1) {
+                               if (_lseek(fileno(stream), 0L, SEEK_END) == -1) {
                                        stream->_flags |= _IOERR;
                                        return EOF;
                                }
                        }
-                       if (write(fileno(stream), (char *)stream->_buf, count)
+                       if (_write(fileno(stream), (char *)stream->_buf, count)
                            != count) {
                                *(stream->_buf) = c;
                                stream->_flags |= _IOERR;
index 9c5a274..bd1c1ef 100644 (file)
 #define        O_TRUNC         0x020
 #define        O_APPEND        0x040
 
-int open(const char *path, int flags);
-int creat(const char *path, int mode);
+int _open(const char *path, int flags);
+int _creat(const char *path, int mode);
 
-int close(int d);
+int _close(int d);
 
 FILE *
 fopen(const char *name, const char *mode)
@@ -88,14 +88,14 @@ fopen(const char *name, const char *mode)
         * the file is opened for writing and the open() failed.
         */
        if ((rwflags & O_TRUNC)
-           || (((fd = open(name, rwmode)) < 0)
+           || (((fd = _open(name, rwmode)) < 0)
                    && (flags & _IOWRITE)))
-               fd = creat(name, PMODE);
+               fd = _creat(name, PMODE);
 
        if (fd < 0) return (FILE *)NULL;
 
        if (( stream = (FILE *) malloc(sizeof(FILE))) == NULL ) {
-               close(fd);
+               _close(fd);
                return (FILE *)NULL;
        }
 
index ed5d167..9211119 100644 (file)
@@ -20,9 +20,9 @@
 #define        O_TRUNC         0x020
 #define        O_APPEND        0x040
 
-int open(const char *path, int flags);
-int creat(const char *path, int mode);
-int close(int d);
+int _open(const char *path, int flags);
+int _creat(const char *path, int mode);
+int _close(int d);
 
 FILE *
 freopen(const char *name, const char *mode, FILE *stream)
@@ -32,7 +32,7 @@ freopen(const char *name, const char *mode, FILE *stream)
        int fd, flags = stream->_flags & (_IONBF | _IOFBF | _IOLBF | _IOMYBUF);
 
        (void) fflush(stream);                          /* ignore errors */
-       (void) close(fileno(stream));
+       (void) _close(fileno(stream));
 
        switch(*mode++) {
        case 'r':
@@ -67,9 +67,9 @@ freopen(const char *name, const char *mode, FILE *stream)
        }
 
        if ((rwflags & O_TRUNC)
-           || (((fd = open(name, rwmode)) < 0)
+           || (((fd = _open(name, rwmode)) < 0)
                    && (flags & _IOWRITE)))
-               fd = creat(name, PMODE);
+               fd = _creat(name, PMODE);
 
        if (fd < 0) {
                for( i = 0; i < FOPEN_MAX; i++) {
index ea2649f..e386f75 100644 (file)
@@ -13,7 +13,7 @@
 
 #include       <sys/types.h>
 
-off_t lseek(int fildes, off_t offset, int whence);
+off_t _lseek(int fildes, off_t offset, int whence);
 
 int
 fseek(FILE *stream, long int offset, int whence)
@@ -29,14 +29,13 @@ fseek(FILE *stream, long int offset, int whence)
                    && stream->_buf
                    && !io_testflag(stream,_IONBF))
                        adjust = stream->_count;
-               pos = lseek(fileno(stream), offset - adjust, whence);
                stream->_count = 0;
        } else if (io_testflag(stream,_IOWRITING)) {
                fflush(stream);
-               pos = lseek(fileno(stream), offset, whence);
        } else  /* neither reading nor writing. The buffer must be empty */
-               pos = lseek(fileno(stream), offset, whence);
+               /* EMPTY */ ;
 
+       pos = _lseek(fileno(stream), offset - adjust, whence);
        if (io_testflag(stream, _IOREAD) && io_testflag(stream, _IOWRITE))
                stream->_flags &= ~(_IOREADING | _IOWRITING);
 
index eb77ba3..741c699 100644 (file)
@@ -13,7 +13,7 @@
 
 #include       <sys/types.h>
 
-off_t lseek(int fildes, off_t offset, int whence);
+off_t _lseek(int fildes, off_t offset, int whence);
 
 long ftell(FILE *stream)
 {
@@ -28,7 +28,7 @@ long ftell(FILE *stream)
                adjust = stream->_ptr - stream->_buf;
        else adjust = 0;
 
-       result = lseek(fileno(stream), 0, SEEK_CUR);
+       result = _lseek(fileno(stream), 0, SEEK_CUR);
 
        if ( result == -1 )
                return result;
index 4402266..25b2501 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * isatty - check if a file descriptor is associated with a terminal
+ * _isatty - check if a file descriptor is associated with a terminal
  */
 /* $Header$ */
 
-int gtty(int d, char *buf);
+int _gtty(int d, char *buf);
 
-int isatty(int d)
+int _isatty(int d)
 {
        char buf[128]; 
        /* not a sgttyb struct; it might not be large enough;
@@ -13,5 +13,5 @@ int isatty(int d)
           where gtty is an ioctl(..., TCGETA, ...)
        */
 
-       return gtty(d, buf) >= 0;
+       return _gtty(d, buf) >= 0;
 }
index 4ac85e2..a1934d6 100644 (file)
@@ -12,6 +12,7 @@
 int _doprnt(const char *format, va_list ap, FILE *stream);
 int _doscan(FILE * stream, const char *format, va_list ap);
 char *_i_compute(unsigned long val, int base, char *s, int nrdigits);
+void __cleanup(void);
 
 FILE *popen(const char *command, const char *type);
 FILE *fdopen(int fd, const char *mode);
index 3c05d86..72c5780 100644 (file)
@@ -5,9 +5,9 @@
 
 #include       <stdio.h>
 
-int unlink(const char *path);
+int _unlink(const char *path);
 
 int
 remove(const char *filename) {
-       return unlink(filename);
+       return _unlink(filename);
 }
index 5c86781..c4da5a7 100644 (file)
@@ -5,11 +5,11 @@
 
 #include       <stdio.h>
 
-int link(const char *name1, const char *name2);
+int _link(const char *name1, const char *name2);
 
 int
 rename(const char *old, const char *new) {
-       if (!link(old, new))
+       if (!_link(old, new))
                return remove(old);
        else return -1;
 }
index 1cf3027..34ef83b 100644 (file)
@@ -7,14 +7,14 @@
 #include       <stdlib.h>
 #include       "loc_incl.h"
 
-extern int (*_fflush)(FILE *stream);
+extern void (*_clean)(void);
 
 int
 setvbuf(register FILE *stream, char *buf, int mode, size_t size)
 {
        int retval = 0;
 
-       _fflush = fflush;
+       _clean = __cleanup;
        if (mode != _IOFBF && mode != _IOLBF && mode != _IONBF)
                return EOF;
 
index e375bcc..b53f16a 100644 (file)
@@ -7,7 +7,7 @@
 #include       <string.h>
 #include       "loc_incl.h"
 
-unsigned int getpid(void);
+unsigned int _getpid(void);
 
 FILE *
 tmpfile(void) {
@@ -17,7 +17,7 @@ tmpfile(void) {
 
        if (!name) {
                name = name_buffer + strlen(name_buffer);
-               name = _i_compute(getpid(), 10, name, 5);
+               name = _i_compute(_getpid(), 10, name, 5);
                *name = '\0';
        }
 
index 2df293f..f6f9ddb 100644 (file)
@@ -7,7 +7,7 @@
 #include       <string.h>
 #include       "loc_incl.h"
 
-unsigned int getpid(void);
+unsigned int _getpid(void);
 
 char *
 tmpnam(char *s) {
@@ -17,7 +17,7 @@ tmpnam(char *s) {
 
        if (!name) { 
                name = name_buffer + strlen(name_buffer);
-               name = _i_compute(getpid(), 10, name, 5);
+               name = _i_compute(_getpid(), 10, name, 5);
                *name++ = '.';
                *name++ = '\0';
        }