diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | FAQ | 4 | ||||
-rw-r--r-- | FAQ.in | 4 | ||||
-rw-r--r-- | libio/fileops.c | 6 | ||||
-rw-r--r-- | libio/libio.h | 18 | ||||
-rw-r--r-- | posix/unistd.h | 2 |
6 files changed, 17 insertions, 24 deletions
@@ -1,3 +1,10 @@ +1998-07-09 Ulrich Drepper <drepper@cygnus.com> + + * posix/unistd.h: Simplify #ifdefs. + + * libio/libio.h: Undo last change due to possible C++ problems. + * libio/fileops.h: Likewise. + 1998-07-09 13:34 Ulrich Drepper <drepper@cygnus.com> * grp/grp.h: Define gid_t also for __USE_XOPEN. @@ -947,7 +947,7 @@ new type. {UD,AJ} On Linux, the use of kernel headers is reduced to the minimum. This gives Linus the ability to change the headers more freely. Also, user -programs are now insulated from changes in the size of kernel data +programs are not insulated from changes in the size of kernel data structures. For example, the sigset_t type is 32 or 64 bits wide in the kernel. In @@ -1069,7 +1069,7 @@ To fix those programs you've got to initialize the variable at run time. This can be done, e.g. in main, like: static FILE *InPtr; -int main(void) +int main(void) { InPtr = stdin; } @@ -791,7 +791,7 @@ new type. {UD,AJ} On Linux, the use of kernel headers is reduced to the minimum. This gives Linus the ability to change the headers more freely. Also, user -programs are now insulated from changes in the size of kernel data +programs are not insulated from changes in the size of kernel data structures. For example, the sigset_t type is 32 or 64 bits wide in the kernel. In @@ -910,7 +910,7 @@ To fix those programs you've got to initialize the variable at run time. This can be done, e.g. in main, like: static FILE *InPtr; -int main(void) +int main(void) { InPtr = stdin; } diff --git a/libio/fileops.c b/libio/fileops.c index 66c2fc5..82e521a 100644 --- a/libio/fileops.c +++ b/libio/fileops.c @@ -316,7 +316,7 @@ _IO_do_write (fp, data, to_do) fp->_cur_column = _IO_adjust_column (fp->_cur_column - 1, data, to_do) + 1; _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base); fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_buf_base; - fp->_IO_write_end = ((fp->_flags & (_IO_UNBUFFERED)) + fp->_IO_write_end = ((fp->_flags & (_IO_LINE_BUF+_IO_UNBUFFERED)) ? fp->_IO_buf_base : fp->_IO_buf_end); return count != to_do ? EOF : 0; } @@ -410,9 +410,9 @@ _IO_file_overflow (f, ch) f->_IO_write_end = f->_IO_buf_end; f->_IO_read_base = f->_IO_read_ptr = f->_IO_read_end; - if (f->_flags & (_IO_UNBUFFERED)) - f->_IO_write_end = f->_IO_write_ptr; f->_flags |= _IO_CURRENTLY_PUTTING; + if (f->_flags & (_IO_LINE_BUF+_IO_UNBUFFERED)) + f->_IO_write_end = f->_IO_write_ptr; } if (ch == EOF) return _IO_do_flush (f); diff --git a/libio/libio.h b/libio/libio.h index 410794f..a060b42 100644 --- a/libio/libio.h +++ b/libio/libio.h @@ -286,24 +286,10 @@ extern int __overflow __P ((_IO_FILE *, int)); ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end \ && __underflow (_fp) == EOF ? EOF \ : *(unsigned char *) (_fp)->_IO_read_ptr) - -#ifdef __GNUC__ -# define _IO_putc_unlocked(_ch, _fp) \ - (__extension__ \ - ({ unsigned char _chl = (_ch); \ - (((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end \ - || (_chl == '\n' && ((_fp)->_flags & _IO_LINE_BUF))) \ - ? __overflow (_fp, (unsigned char) _chl) \ - : (unsigned char) (*(_fp)->_IO_write_ptr++ = _chl)); })) -#else -# define _IO_putc_unlocked(_ch, _fp) \ +#define _IO_putc_unlocked(_ch, _fp) \ (((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ ? __overflow (_fp, (unsigned char) (_ch)) \ - : ((unsigned char) (*(_fp)->_IO_write_ptr = (_ch)) == '\n' \ - && ((_fp)->_flags & _IO_LINE_BUF) \ - ? __overflow (_fp, (unsigned char) *(_fp)->_IO_write_ptr) \ - : (unsigned char) (*(_fp)->_IO_write_ptr++))) -#endif + : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) #define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0) #define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0) diff --git a/posix/unistd.h b/posix/unistd.h index d56c56d..5f60673 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -1070,7 +1070,7 @@ extern int rename __P ((__const char *__old, __const char *__new)); #endif -#if defined __USE_POSIX199309 || defined __USE_UNIX98 +#ifdef __USE_POSIX199309 /* This function is only available if the system has POSIX threads. */ /* Install handlers to be called when a new process is created with FORK. |