hrev43720 adds 2 changesets to branch 'master' old head: 86beacd1797c3863d1f7f6ae41c579fe36244c2a new head: 0bbc9d0e04fca4b3d5c8e5722ae978288b8f204a ---------------------------------------------------------------------------- be601bb: Show correct text in fwide_test. 0bbc9d0: Remove some more glibc-files that are not required. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- 15 files changed, 1 insertions(+), 1991 deletions(-) src/system/libroot/posix/glibc/libio/Jamfile | 70 -- src/system/libroot/posix/glibc/libio/oldfileops.c | 787 ---------------- src/system/libroot/posix/glibc/libio/oldiofclose.c | 79 -- src/system/libroot/posix/glibc/libio/oldiofdopen.c | 139 --- .../libroot/posix/glibc/libio/oldiofgetpos.c | 68 -- .../libroot/posix/glibc/libio/oldiofgetpos64.c | 73 -- src/system/libroot/posix/glibc/libio/oldiofopen.c | 72 -- .../libroot/posix/glibc/libio/oldiofsetpos.c | 66 -- .../libroot/posix/glibc/libio/oldiofsetpos64.c | 72 -- src/system/libroot/posix/glibc/libio/oldiopopen.c | 316 ------- src/system/libroot/posix/glibc/libio/oldpclose.c | 50 - src/system/libroot/posix/glibc/libio/oldstdfiles.c | 97 -- src/system/libroot/posix/glibc/libio/oldtmpfile.c | 55 -- src/system/libroot/posix/glibc/libio/wfile_stubs.c | 46 - src/tests/system/libroot/posix/fwide_test.c | 2 +- ############################################################################ Commit: be601bbbcc126fd8b5a1b2e594e241a773e04e75 URL: http://cgit.haiku-os.org/haiku/commit/?id=be601bb Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Feb 7 21:31:23 2012 UTC Show correct text in fwide_test. ---------------------------------------------------------------------------- diff --git a/src/tests/system/libroot/posix/fwide_test.c b/src/tests/system/libroot/posix/fwide_test.c index 101fbea..a5546b8 100644 --- a/src/tests/system/libroot/posix/fwide_test.c +++ b/src/tests/system/libroot/posix/fwide_test.c @@ -20,7 +20,7 @@ main(int argc, char** argv) printf("PROBLEM: fwide(stdout, 0) = %d (expected -1)\n", result); } - fwprintf(stderr, L"stderr should now be set to non-wide mode ...\n"); + fwprintf(stderr, L"stderr should now be set to wide mode ...\n"); result = fwide(stderr, 0); if (result != 1) { ############################################################################ Revision: hrev43720 Commit: 0bbc9d0e04fca4b3d5c8e5722ae978288b8f204a URL: http://cgit.haiku-os.org/haiku/commit/?id=0bbc9d0 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Feb 7 21:32:19 2012 UTC Remove some more glibc-files that are not required. ---------------------------------------------------------------------------- diff --git a/src/system/libroot/posix/glibc/libio/Jamfile b/src/system/libroot/posix/glibc/libio/Jamfile index ca7e0d1..4e6f0dc 100644 --- a/src/system/libroot/posix/glibc/libio/Jamfile +++ b/src/system/libroot/posix/glibc/libio/Jamfile @@ -93,7 +93,6 @@ MergeObject posix_gnu_libio.o : vasprintf.c vscanf.c vsnprintf.c -# wfile_stubs.c # wide character @@ -127,72 +126,3 @@ MergeObject posix_gnu_libio.o : wscanf.c wstrops.c ; - -# use this to build a standalone libio.so -# using libio.so, haiku's version of libstdc++.r4.so can be tested under R5. -#SharedLibrary libio.so : -# clearerr.c -# clearerr_u.c -# fcloseall.c -# feof.c -# feof_u.c -# ferror.c -# ferror_u.c -# fileno.c -# filedoalloc.c -# fileops.c -# flockfile.c -# fputc.c -# fputc_u.c -# fseek.c -# fseeko.c -# ftello.c -# fwide.c -# genops.c -# getc.c -# getc_u.c -# getchar.c -# getchar_u.c -# iofclose.c -# iofdopen.c -# iofflush.c -# iofgets.c -# iofgets_u.c -# iofopen.c -# iofputs.c -# iofputs_u.c -# iofread.c -# iofread_u.c -# ioftell.c -# iofwrite.c -# iofwrite_u.c -# iofwide.c -# iogetdelim.c -# iogetline.c -# iogets.c -# iopadn.c -# iopopen.c -# ioputs.c -# ioseekoff.c -# ioseekpos.c -# iosetbuffer.c -# iosetvbuf.c -# ioungetc.c -# iovdprintf.c -# iovsprintf.c -# iovsscanf.c -# peekc.c -# putc.c -# putc_u.c -# putchar.c -# putchar_u.c -# rewind.c -# setbuf.c -# setlinebuf.c -# stdfiles.c -# stdio.c -# strops.c -# vasprintf.c -# vscanf.c -# vsnprintf.c -# wfile_stubs.c ; diff --git a/src/system/libroot/posix/glibc/libio/oldfileops.c b/src/system/libroot/posix/glibc/libio/oldfileops.c deleted file mode 100644 index 3e22c83..0000000 --- a/src/system/libroot/posix/glibc/libio/oldfileops.c +++ /dev/null @@ -1,787 +0,0 @@ -/* Copyright (C) 1993,95,97,98,99,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Written by Per Bothner <bothner@xxxxxxxxxx>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -/* This is a compatibility file. If we don't build the libc with - versioning don't compile this file. */ -#include <shlib-compat.h> -#if 1 /*SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)*/ - -#ifndef _POSIX_SOURCE -# define _POSIX_SOURCE -#endif -#define _IO_USE_OLD_IO_FILE -#include "libioP.h" -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <string.h> -#include <errno.h> -#ifdef __STDC__ -#include <stdlib.h> -#endif - - -#ifdef _LIBC -/*# define open(Name, Flags, Prot) __open (Name, Flags, Prot) -# define close(FD) __close (FD) -# define lseek(FD, Offset, Whence) __lseek (FD, Offset, Whence) -# define read(FD, Buf, NBytes) __read (FD, Buf, NBytes) -# define write(FD, Buf, NBytes) __write (FD, Buf, NBytes)*/ -#endif - -/* An fstream can be in at most one of put mode, get mode, or putback mode. - Putback mode is a variant of get mode. - - In a filebuf, there is only one current position, instead of two - separate get and put pointers. In get mode, the current position - is that of gptr(); in put mode that of pptr(). - - The position in the buffer that corresponds to the position - in external file system is normally _IO_read_end, except in putback - mode, when it is _IO_save_end. - If the field _fb._offset is >= 0, it gives the offset in - the file as a whole corresponding to eGptr(). (?) - - PUT MODE: - If a filebuf is in put mode, then all of _IO_read_ptr, _IO_read_end, - and _IO_read_base are equal to each other. These are usually equal - to _IO_buf_base, though not necessarily if we have switched from - get mode to put mode. (The reason is to maintain the invariant - that _IO_read_end corresponds to the external file position.) - _IO_write_base is non-NULL and usually equal to _IO_base_base. - We also have _IO_write_end == _IO_buf_end, but only in fully buffered mode. - The un-flushed character are those between _IO_write_base and _IO_write_ptr. - - GET MODE: - If a filebuf is in get or putback mode, eback() != egptr(). - In get mode, the unread characters are between gptr() and egptr(). - The OS file position corresponds to that of egptr(). - - PUTBACK MODE: - Putback mode is used to remember "excess" characters that have - been sputbackc'd in a separate putback buffer. - In putback mode, the get buffer points to the special putback buffer. - The unread characters are the characters between gptr() and egptr() - in the putback buffer, as well as the area between save_gptr() - and save_egptr(), which point into the original reserve buffer. - (The pointers save_gptr() and save_egptr() are the values - of gptr() and egptr() at the time putback mode was entered.) - The OS position corresponds to that of save_egptr(). - - LINE BUFFERED OUTPUT: - During line buffered output, _IO_write_base==base() && epptr()==base(). - However, ptr() may be anywhere between base() and ebuf(). - This forces a call to filebuf::overflow(int C) on every put. - If there is more space in the buffer, and C is not a '\n', - then C is inserted, and pptr() incremented. - - UNBUFFERED STREAMS: - If a filebuf is unbuffered(), the _shortbuf[1] is used as the buffer. -*/ - -#define CLOSED_FILEBUF_FLAGS \ - (_IO_IS_FILEBUF+_IO_NO_READS+_IO_NO_WRITES+_IO_TIED_PUT_GET) - - -void -_IO_old_file_init (fp) - struct _IO_FILE_plus *fp; -{ - /* POSIX.1 allows another file handle to be used to change the position - of our file descriptor. Hence we actually don't know the actual - position before we do the first fseek (and until a following fflush). */ - fp->file._old_offset = _IO_pos_BAD; - fp->file._IO_file_flags |= CLOSED_FILEBUF_FLAGS; - - INTUSE(_IO_link_in) (fp); - fp->file._vtable_offset = ((int) sizeof (struct _IO_FILE) - - (int) sizeof (struct _IO_FILE_complete)); - fp->file._fileno = -1; -} - -int -_IO_old_file_close_it (fp) - _IO_FILE *fp; -{ - int write_status, close_status; - if (!_IO_file_is_open (fp)) - return EOF; - - write_status = _IO_old_do_flush (fp); - - INTUSE(_IO_unsave_markers) (fp); - - close_status = _IO_SYSCLOSE (fp); - - /* Free buffer. */ - INTUSE(_IO_setb) (fp, NULL, NULL, 0); - _IO_setg (fp, NULL, NULL, NULL); - _IO_setp (fp, NULL, NULL); - - INTUSE(_IO_un_link) ((struct _IO_FILE_plus *) fp); - fp->_flags = _IO_MAGIC|CLOSED_FILEBUF_FLAGS; - fp->_fileno = -1; - fp->_old_offset = _IO_pos_BAD; - - return close_status ? close_status : write_status; -} - -void -_IO_old_file_finish (fp, dummy) - _IO_FILE *fp; - int dummy; -{ - if (_IO_file_is_open (fp)) - { - _IO_old_do_flush (fp); - if (!(fp->_flags & _IO_DELETE_DONT_CLOSE)) - _IO_SYSCLOSE (fp); - } - INTUSE(_IO_default_finish) (fp, 0); -} - -_IO_FILE * -_IO_old_file_fopen (fp, filename, mode) - _IO_FILE *fp; - const char *filename; - const char *mode; -{ - int oflags = 0, omode; - int read_write, fdesc; - int oprot = 0666; - if (_IO_file_is_open (fp)) - return 0; - switch (*mode++) - { - case 'r': - omode = O_RDONLY; - read_write = _IO_NO_WRITES; - break; - case 'w': - omode = O_WRONLY; - oflags = O_CREAT|O_TRUNC; - read_write = _IO_NO_READS; - break; - case 'a': - omode = O_WRONLY; - oflags = O_CREAT|O_APPEND; - read_write = _IO_NO_READS|_IO_IS_APPENDING; - break; - default: - __set_errno (EINVAL); - return NULL; - } - if (mode[0] == '+' || (mode[0] == 'b' && mode[1] == '+')) - { - omode = O_RDWR; - read_write &= _IO_IS_APPENDING; - } - fdesc = open (filename, omode|oflags, oprot); - if (fdesc < 0) - return NULL; - fp->_fileno = fdesc; - _IO_mask_flags (fp, read_write,_IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING); - if (read_write & _IO_IS_APPENDING) - if (_IO_SEEKOFF (fp, (_IO_off_t)0, _IO_seek_end, _IOS_INPUT|_IOS_OUTPUT) - == _IO_pos_BAD && errno != ESPIPE) - return NULL; - INTUSE(_IO_link_in) ((struct _IO_FILE_plus *) fp); - return fp; -} - -_IO_FILE * -_IO_old_file_attach (fp, fd) - _IO_FILE *fp; - int fd; -{ - if (_IO_file_is_open (fp)) - return NULL; - fp->_fileno = fd; - fp->_flags &= ~(_IO_NO_READS+_IO_NO_WRITES); - fp->_flags |= _IO_DELETE_DONT_CLOSE; - /* Get the current position of the file. */ - /* We have to do that since that may be junk. */ - fp->_old_offset = _IO_pos_BAD; - if (_IO_SEEKOFF (fp, (_IO_off_t)0, _IO_seek_cur, _IOS_INPUT|_IOS_OUTPUT) - == _IO_pos_BAD && errno != ESPIPE) - return NULL; - return fp; -} - -_IO_FILE * -_IO_old_file_setbuf (fp, p, len) - _IO_FILE *fp; - char *p; - _IO_ssize_t len; -{ - if (_IO_default_setbuf (fp, p, len) == NULL) - return NULL; - - fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_write_end - = fp->_IO_buf_base; - _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base); - - return fp; -} - -static int old_do_write __P ((_IO_FILE *, const char *, _IO_size_t)); - -/* Write TO_DO bytes from DATA to FP. - Then mark FP as having empty buffers. */ - -int -_IO_old_do_write (fp, data, to_do) - _IO_FILE *fp; - const char *data; - _IO_size_t to_do; -{ - return (to_do == 0 || (_IO_size_t) old_do_write (fp, data, to_do) == to_do) - ? 0 : EOF; -} - -static -int -old_do_write (fp, data, to_do) - _IO_FILE *fp; - const char *data; - _IO_size_t to_do; -{ - _IO_size_t count; - if (fp->_flags & _IO_IS_APPENDING) - /* On a system without a proper O_APPEND implementation, - you would need to sys_seek(0, SEEK_END) here, but is - is not needed nor desirable for Unix- or Posix-like systems. - Instead, just indicate that offset (before and after) is - unpredictable. */ - fp->_old_offset = _IO_pos_BAD; - else if (fp->_IO_read_end != fp->_IO_write_base) - { - _IO_off_t new_pos - = _IO_SYSSEEK (fp, fp->_IO_write_base - fp->_IO_read_end, 1); - if (new_pos == _IO_pos_BAD) - return 0; - fp->_old_offset = new_pos; - } - count = _IO_SYSWRITE (fp, data, to_do); - if (fp->_cur_column && count) - fp->_cur_column = INTUSE(_IO_adjust_column) (fp->_cur_column - 1, data, - count) + 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_LINE_BUF+_IO_UNBUFFERED)) - ? fp->_IO_buf_base : fp->_IO_buf_end); - return count; -} - -int -_IO_old_file_underflow (fp) - _IO_FILE *fp; -{ - _IO_ssize_t count; -#if 0 - /* SysV does not make this test; take it out for compatibility */ - if (fp->_flags & _IO_EOF_SEEN) - return (EOF); -#endif - - if (fp->_flags & _IO_NO_READS) - { - fp->_flags |= _IO_ERR_SEEN; - __set_errno (EBADF); - return EOF; - } - if (fp->_IO_read_ptr < fp->_IO_read_end) - return *(unsigned char *) fp->_IO_read_ptr; - - if (fp->_IO_buf_base == NULL) - { - /* Maybe we already have a push back pointer. */ - if (fp->_IO_save_base != NULL) - { - free (fp->_IO_save_base); - fp->_flags &= ~_IO_IN_BACKUP; - } - INTUSE(_IO_doallocbuf) (fp); - } - - /* Flush all line buffered files before reading. */ - /* FIXME This can/should be moved to genops ?? */ - if (fp->_flags & (_IO_LINE_BUF|_IO_UNBUFFERED)) - INTUSE(_IO_flush_all_linebuffered) (); - - INTUSE(_IO_switch_to_get_mode) (fp); - - /* This is very tricky. We have to adjust those - pointers before we call _IO_SYSREAD () since - we may longjump () out while waiting for - input. Those pointers may be screwed up. H.J. */ - fp->_IO_read_base = fp->_IO_read_ptr = fp->_IO_buf_base; - fp->_IO_read_end = fp->_IO_buf_base; - fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_write_end - = fp->_IO_buf_base; - - count = _IO_SYSREAD (fp, fp->_IO_buf_base, - fp->_IO_buf_end - fp->_IO_buf_base); - if (count <= 0) - { - if (count == 0) - fp->_flags |= _IO_EOF_SEEN; - else - fp->_flags |= _IO_ERR_SEEN, count = 0; - } - fp->_IO_read_end += count; - if (count == 0) - return EOF; - if (fp->_old_offset != _IO_pos_BAD) - _IO_pos_adjust (fp->_old_offset, count); - return *(unsigned char *) fp->_IO_read_ptr; -} - -int -_IO_old_file_overflow (f, ch) - _IO_FILE *f; - int ch; -{ - if (f->_flags & _IO_NO_WRITES) /* SET ERROR */ - { - f->_flags |= _IO_ERR_SEEN; - __set_errno (EBADF); - return EOF; - } - /* If currently reading or no buffer allocated. */ - if ((f->_flags & _IO_CURRENTLY_PUTTING) == 0) - { - /* Allocate a buffer if needed. */ - if (f->_IO_write_base == 0) - { - INTUSE(_IO_doallocbuf) (f); - _IO_setg (f, f->_IO_buf_base, f->_IO_buf_base, f->_IO_buf_base); - } - /* Otherwise must be currently reading. - If _IO_read_ptr (and hence also _IO_read_end) is at the buffer end, - logically slide the buffer forwards one block (by setting the - read pointers to all point at the beginning of the block). This - makes room for subsequent output. - Otherwise, set the read pointers to _IO_read_end (leaving that - alone, so it can continue to correspond to the external position). */ - if (f->_IO_read_ptr == f->_IO_buf_end) - f->_IO_read_end = f->_IO_read_ptr = f->_IO_buf_base; - f->_IO_write_ptr = f->_IO_read_ptr; - f->_IO_write_base = f->_IO_write_ptr; - f->_IO_write_end = f->_IO_buf_end; - f->_IO_read_base = f->_IO_read_ptr = f->_IO_read_end; - - if (f->_flags & (_IO_LINE_BUF+_IO_UNBUFFERED)) - f->_IO_write_end = f->_IO_write_ptr; - f->_flags |= _IO_CURRENTLY_PUTTING; - } - if (ch == EOF) - return _IO_old_do_flush (f); - if (f->_IO_write_ptr == f->_IO_buf_end ) /* Buffer is really full */ - if (_IO_old_do_flush (f) == EOF) - return EOF; - *f->_IO_write_ptr++ = ch; - if ((f->_flags & _IO_UNBUFFERED) - || ((f->_flags & _IO_LINE_BUF) && ch == '\n')) - if (_IO_old_do_flush (f) == EOF) - return EOF; - return (unsigned char) ch; -} - -int -_IO_old_file_sync (fp) - _IO_FILE *fp; -{ - _IO_ssize_t delta; - int retval = 0; - - /* char* ptr = cur_ptr(); */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - if (_IO_old_do_flush(fp)) return EOF; - delta = fp->_IO_read_ptr - fp->_IO_read_end; - if (delta != 0) - { -#ifdef TODO - if (_IO_in_backup (fp)) - delta -= eGptr () - Gbase (); -#endif - _IO_off_t new_pos = _IO_SYSSEEK (fp, delta, 1); - if (new_pos != (_IO_off_t) EOF) - fp->_IO_read_end = fp->_IO_read_ptr; -#ifdef ESPIPE - else if (errno == ESPIPE) - ; /* Ignore error from unseekable devices. */ -#endif - else - retval = EOF; - } - if (retval != EOF) - fp->_old_offset = _IO_pos_BAD; - /* FIXME: Cleanup - can this be shared? */ - /* setg(base(), ptr, ptr); */ - return retval; -} - -_IO_off64_t -_IO_old_file_seekoff (fp, offset, dir, mode) - _IO_FILE *fp; - _IO_off64_t offset; - int dir; - int mode; -{ - _IO_off_t result; - _IO_off64_t delta, new_offset; - long count; - /* POSIX.1 8.2.3.7 says that after a call the fflush() the file - offset of the underlying file must be exact. */ - int must_be_exact = (fp->_IO_read_base == fp->_IO_read_end - && fp->_IO_write_base == fp->_IO_write_ptr); - - if (mode == 0) - dir = _IO_seek_cur, offset = 0; /* Don't move any pointers. */ - - /* Flush unwritten characters. - (This may do an unneeded write if we seek within the buffer. - But to be able to switch to reading, we would need to set - egptr to ptr. That can't be done in the current design, - which assumes file_ptr() is eGptr. Anyway, since we probably - end up flushing when we close(), it doesn't make much difference.) - FIXME: simulate mem-papped files. */ - - if (fp->_IO_write_ptr > fp->_IO_write_base || _IO_in_put_mode (fp)) - if (INTUSE(_IO_switch_to_get_mode) (fp)) - return EOF; - - if (fp->_IO_buf_base == NULL) - { - /* It could be that we already have a pushback buffer. */ - if (fp->_IO_read_base != NULL) - { - free (fp->_IO_read_base); - fp->_flags &= ~_IO_IN_BACKUP; - } - INTUSE(_IO_doallocbuf) (fp); - _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base); - _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base); - } - - switch (dir) - { - case _IO_seek_cur: - /* Adjust for read-ahead (bytes is buffer). */ - offset -= fp->_IO_read_end - fp->_IO_read_ptr; - if (fp->_old_offset == _IO_pos_BAD) - goto dumb; - /* Make offset absolute, assuming current pointer is file_ptr(). */ - offset += fp->_old_offset; - - dir = _IO_seek_set; - break; - case _IO_seek_set: - break; - case _IO_seek_end: - { - struct _G_stat64 st; - if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode)) - { - offset += st.st_size; - dir = _IO_seek_set; - } - else - goto dumb; - } - } - /* At this point, dir==_IO_seek_set. */ - - /* If we are only interested in the current position we've found it now. */ - if (mode == 0) - return offset; - - /* If destination is within current buffer, optimize: */ - if (fp->_old_offset != _IO_pos_BAD && fp->_IO_read_base != NULL - && !_IO_in_backup (fp)) - { - /* Offset relative to start of main get area. */ - _IO_off_t rel_offset = (offset - fp->_old_offset - + (fp->_IO_read_end - fp->_IO_read_base)); - if (rel_offset >= 0) - { -#if 0 - if (_IO_in_backup (fp)) - _IO_switch_to_main_get_area (fp); -#endif - if (rel_offset <= fp->_IO_read_end - fp->_IO_read_base) - { - _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base + rel_offset, - fp->_IO_read_end); - _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base); - { - _IO_mask_flags (fp, 0, _IO_EOF_SEEN); - goto resync; - } - } -#ifdef TODO - /* If we have streammarkers, seek forward by reading ahead. */ - if (_IO_have_markers (fp)) - { - int to_skip = rel_offset - - (fp->_IO_read_ptr - fp->_IO_read_base); - if (ignore (to_skip) != to_skip) - goto dumb; - _IO_mask_flags (fp, 0, _IO_EOF_SEEN); - goto resync; - } -#endif - } -#ifdef TODO - if (rel_offset < 0 && rel_offset >= Bbase () - Bptr ()) - { - if (!_IO_in_backup (fp)) - _IO_switch_to_backup_area (fp); - gbump (fp->_IO_read_end + rel_offset - fp->_IO_read_ptr); - _IO_mask_flags (fp, 0, _IO_EOF_SEEN); - goto resync; - } -#endif - } - -#ifdef TODO - INTUSE(_IO_unsave_markers) (fp); -#endif - - if (fp->_flags & _IO_NO_READS) - goto dumb; - - /* Try to seek to a block boundary, to improve kernel page management. */ - new_offset = offset & ~(fp->_IO_buf_end - fp->_IO_buf_base - 1); - delta = offset - new_offset; - if (delta > fp->_IO_buf_end - fp->_IO_buf_base) - { - new_offset = offset; - delta = 0; - } - result = _IO_SYSSEEK (fp, new_offset, 0); - if (result < 0) - return EOF; - if (delta == 0) - count = 0; - else - { - count = _IO_SYSREAD (fp, fp->_IO_buf_base, - (must_be_exact - ? delta : fp->_IO_buf_end - fp->_IO_buf_base)); - if (count < delta) - { - /* We weren't allowed to read, but try to seek the remainder. */ - offset = count == EOF ? delta : delta-count; - dir = _IO_seek_cur; - goto dumb; - } - } - _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base + delta, - fp->_IO_buf_base + count); - _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base); - fp->_old_offset = result + count; - _IO_mask_flags (fp, 0, _IO_EOF_SEEN); - return offset; - dumb: - - INTUSE(_IO_unsave_markers) (fp); - result = _IO_SYSSEEK (fp, offset, dir); - if (result != EOF) - { - _IO_mask_flags (fp, 0, _IO_EOF_SEEN); - fp->_old_offset = result; - _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base); - _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base); - } - return result; - -resync: - /* We need to do it since it is possible that the file offset in - the kernel may be changed behind our back. It may happen when - we fopen a file and then do a fork. One process may access the - the file and the kernel file offset will be changed. */ - if (fp->_old_offset >= 0) - _IO_SYSSEEK (fp, fp->_old_offset, 0); - - return offset; -} - -_IO_ssize_t -_IO_old_file_write (f, data, n) - _IO_FILE *f; - const void *data; - _IO_ssize_t n; -{ - _IO_ssize_t to_do = n; - while (to_do > 0) - { - _IO_ssize_t count = write (f->_fileno, data, to_do); - if (count == EOF) - { - f->_flags |= _IO_ERR_SEEN; - break; - } - to_do -= count; - data = (void *) ((char *) data + count); - } - n -= to_do; - if (f->_old_offset >= 0) - f->_old_offset += n; - return n; -} - -_IO_size_t -_IO_old_file_xsputn (f, data, n) - _IO_FILE *f; - const void *data; - _IO_size_t n; -{ - register const char *s = (char *) data; - _IO_size_t to_do = n; - int must_flush = 0; - _IO_size_t count; - - if (n <= 0) - return 0; - /* This is an optimized implementation. - If the amount to be written straddles a block boundary - (or the filebuf is unbuffered), use sys_write directly. */ - - /* First figure out how much space is available in the buffer. */ - count = f->_IO_write_end - f->_IO_write_ptr; /* Space available. */ - if ((f->_flags & _IO_LINE_BUF) && (f->_flags & _IO_CURRENTLY_PUTTING)) - { - count = f->_IO_buf_end - f->_IO_write_ptr; - if (count >= n) - { - register const char *p; - for (p = s + n; p > s; ) - { - if (*--p == '\n') - { - count = p - s + 1; - must_flush = 1; - break; - } - } - } - } - /* Then fill the buffer. */ - if (count > 0) - { - if (count > to_do) - count = to_do; - if (count > 20) - { -#ifdef _LIBC - f->_IO_write_ptr = __mempcpy (f->_IO_write_ptr, s, count); -#else - memcpy (f->_IO_write_ptr, s, count); - f->_IO_write_ptr += count; -#endif - s += count; - } - else - { - register char *p = f->_IO_write_ptr; - register int i = (int) count; - while (--i >= 0) - *p++ = *s++; - f->_IO_write_ptr = p; - } - to_do -= count; - } - if (to_do + must_flush > 0) - { - _IO_size_t block_size, do_write; - /* Next flush the (full) buffer. */ - if (__overflow (f, EOF) == EOF) - return n - to_do; - - /* Try to maintain alignment: write a whole number of blocks. - dont_write is what gets left over. */ - block_size = f->_IO_buf_end - f->_IO_buf_base; - do_write = to_do - (block_size >= 128 ? to_do % block_size : 0); - - if (do_write) - { - count = old_do_write (f, s, do_write); - to_do -= count; - if (count < do_write) - return n - to_do; - } - - /* Now write out the remainder. Normally, this will fit in the - buffer, but it's somewhat messier for line-buffered files, - so we let _IO_default_xsputn handle the general case. */ - if (to_do) - to_do -= INTUSE(_IO_default_xsputn) (f, s+do_write, to_do); - } - return n - to_do; -} - - -struct _IO_jump_t _IO_old_file_jumps = -{ - JUMP_INIT_DUMMY, - JUMP_INIT(finish, _IO_old_file_finish), - JUMP_INIT(overflow, _IO_old_file_overflow), - JUMP_INIT(underflow, _IO_old_file_underflow), - JUMP_INIT(uflow, INTUSE(_IO_default_uflow)), - JUMP_INIT(pbackfail, INTUSE(_IO_default_pbackfail)), - JUMP_INIT(xsputn, _IO_old_file_xsputn), - JUMP_INIT(xsgetn, INTUSE(_IO_default_xsgetn)), - JUMP_INIT(seekoff, _IO_old_file_seekoff), - JUMP_INIT(seekpos, _IO_default_seekpos), - JUMP_INIT(setbuf, _IO_old_file_setbuf), - JUMP_INIT(sync, _IO_old_file_sync), - JUMP_INIT(doallocate, INTUSE(_IO_file_doallocate)), - JUMP_INIT(read, INTUSE(_IO_file_read)), - JUMP_INIT(write, _IO_old_file_write), - JUMP_INIT(seek, INTUSE(_IO_file_seek)), - JUMP_INIT(close, INTUSE(_IO_file_close)), - JUMP_INIT(stat, INTUSE(_IO_file_stat)) -}; -/* -compat_symbol (libc, _IO_old_do_write, _IO_do_write, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_attach, _IO_file_attach, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_close_it, _IO_file_close_it, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_finish, _IO_file_finish, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_fopen, _IO_file_fopen, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_init, _IO_file_init, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_setbuf, _IO_file_setbuf, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_sync, _IO_file_sync, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_overflow, _IO_file_overflow, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_seekoff, _IO_file_seekoff, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_underflow, _IO_file_underflow, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_write, _IO_file_write, GLIBC_2_0); -compat_symbol (libc, _IO_old_file_xsputn, _IO_file_xsputn, GLIBC_2_0); -*/ -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofclose.c b/src/system/libroot/posix/glibc/libio/oldiofclose.c deleted file mode 100644 index 18db7b8..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofclose.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997-2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -#define _IO_USE_OLD_IO_FILE -#include "libioP.h" -#ifdef __STDC__ -#include <stdlib.h> -#endif - -int -_IO_old_fclose (fp) - _IO_FILE *fp; -{ - int status; - - CHECK_FILE(fp, EOF); - - /* We desperately try to help programs which are using streams in a - strange way and mix old and new functions. Detect new streams - here. */ - if (fp->_vtable_offset == 0) - return _IO_new_fclose (fp); - - /* First unlink the stream. */ - if (fp->_IO_file_flags & _IO_IS_FILEBUF) - INTUSE(_IO_un_link) ((struct _IO_FILE_plus *) fp); - - _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, fp); - _IO_flockfile (fp); - if (fp->_IO_file_flags & _IO_IS_FILEBUF) - status = _IO_old_file_close_it (fp); - else - status = fp->_flags & _IO_ERR_SEEN ? -1 : 0; - _IO_FINISH (fp); - _IO_funlockfile (fp); - _IO_cleanup_region_end (0); - if (_IO_have_backup (fp)) - INTUSE(_IO_free_backup_area) (fp); - if (fp != _IO_stdin && fp != _IO_stdout && fp != _IO_stderr) - { - fp->_IO_file_flags = 0; - free(fp); - } - - return status; -} - -strong_alias (_IO_old_fclose, __old_fclose) -compat_symbol (libc, _IO_old_fclose, _IO_fclose, GLIBC_2_0); -compat_symbol (libc, __old_fclose, fclose, GLIBC_2_0); - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofdopen.c b/src/system/libroot/posix/glibc/libio/oldiofdopen.c deleted file mode 100644 index 363b732..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofdopen.c +++ /dev/null @@ -1,139 +0,0 @@ -/* Copyright (C) 1993,94,97,99,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. -*/ - - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -#define _IO_USE_OLD_IO_FILE -#include <stdlib.h> -#include "libioP.h" -#include <fcntl.h> - - -_IO_FILE * -_IO_old_fdopen (fd, mode) - int fd; - const char *mode; -{ - int read_write; - int posix_mode = 0; - struct locked_FILE - { - struct _IO_FILE_plus fp; -#ifdef _IO_MTSAFE_IO - _IO_lock_t lock; -#endif - } *new_f; - int fd_flags; - - switch (*mode++) - { - case 'r': - read_write = _IO_NO_WRITES; - break; - case 'w': - read_write = _IO_NO_READS; - break; - case 'a': - posix_mode = O_APPEND; - read_write = _IO_NO_READS|_IO_IS_APPENDING; - break; - default: - MAYBE_SET_EINVAL; - return NULL; - } - if (mode[0] == '+' || (mode[0] == 'b' && mode[1] == '+')) - read_write &= _IO_IS_APPENDING; -#ifdef F_GETFL - fd_flags = fcntl(fd, F_GETFL); -#ifndef O_ACCMODE -#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) -#endif - if (fd_flags == -1 - || ((fd_flags & O_ACCMODE) == O_RDONLY && !(read_write & _IO_NO_WRITES)) - || ((fd_flags & O_ACCMODE) == O_WRONLY && !(read_write & _IO_NO_READS))) - return NULL; - - /* The May 93 draft of P1003.4/D14.1 (redesignated as 1003.1b) - [System Application Program Interface (API) Amendment 1: - Realtime Extensions], Rationale B.8.3.3 - Open a Stream on a File Descriptor says: - - Although not explicitly required by POSIX.1, a good - implementation of append ("a") mode would cause the - O_APPEND flag to be set. - - (Historical implementations [such as Solaris2] do a one-time - seek in fdopen.) - - However, we do not turn O_APPEND off if the mode is "w" (even - though that would seem consistent) because that would be more - likely to break historical programs. - */ - if ((posix_mode & O_APPEND) && !(fd_flags & O_APPEND)) - { -#ifdef F_SETFL - if (fcntl(fd, F_SETFL, fd_flags | O_APPEND) == -1) -#endif - return NULL; - } -#endif - - new_f = (struct locked_FILE *) malloc (sizeof (struct locked_FILE)); - if (new_f == NULL) - return NULL; -#ifdef _IO_MTSAFE_IO - new_f->fp.file._lock = &new_f->lock; -#endif - INTUSE(_IO_init) (&new_f->fp.file, 0); - _IO_JUMPS (&new_f->fp) = &_IO_old_file_jumps; - _IO_old_file_init (&new_f->fp); -#if !_IO_UNIFIED_JUMPTABLES - new_f->fp.vtable = NULL; -#endif - if (_IO_old_file_attach (&new_f->fp.file, fd) == NULL) - { - INTUSE(_IO_un_link) (&new_f->fp); - free (new_f); - return NULL; - } - new_f->fp.file._flags &= ~_IO_DELETE_DONT_CLOSE; - - new_f->fp.file._IO_file_flags = - _IO_mask_flags (&new_f->fp.file, read_write, - _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING); - - return (_IO_FILE *) &new_f->fp; -} - -strong_alias (_IO_old_fdopen, __old_fdopen) -compat_symbol (libc, _IO_old_fdopen, _IO_fdopen, GLIBC_2_0); -compat_symbol (libc, __old_fdopen, fdopen, GLIBC_2_0); - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofgetpos.c b/src/system/libroot/posix/glibc/libio/oldiofgetpos.c deleted file mode 100644 index 596c405..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofgetpos.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 1993,95,96,97,98,99,2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include "libioP.h" -#include <errno.h> - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) - -int -_IO_old_fgetpos (fp, posp) - _IO_FILE *fp; - _IO_fpos_t *posp; -{ - _IO_off_t pos; - CHECK_FILE (fp, EOF); - _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); - _IO_flockfile (fp); - pos = _IO_seekoff_unlocked (fp, 0, _IO_seek_cur, 0); - if (_IO_in_backup (fp)) - pos -= fp->_IO_save_end - fp->_IO_save_base; - _IO_funlockfile (fp); - _IO_cleanup_region_end (0); - if (pos == _IO_pos_BAD) - { - /* ANSI explicitly requires setting errno to a positive value on - failure. */ -#ifdef EIO - if (errno == 0) - __set_errno (EIO); -#endif - return EOF; - } - posp->__pos = pos; - return 0; -} - -#ifdef weak_alias -compat_symbol (libc, _IO_old_fgetpos, _IO_fgetpos, GLIBC_2_0); -strong_alias (_IO_old_fgetpos, __old_fgetpos) -compat_symbol (libc, __old_fgetpos, fgetpos, GLIBC_2_0); -#endif - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofgetpos64.c b/src/system/libroot/posix/glibc/libio/oldiofgetpos64.c deleted file mode 100644 index 4a38c38..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofgetpos64.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright (C) 1993,95,96,97,98,99,2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include "libioP.h" -#include <errno.h> - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) - -int -_IO_old_fgetpos64 (fp, posp) - _IO_FILE *fp; - _IO_fpos64_t *posp; -{ -#ifdef _G_LSEEK64 - _IO_off64_t pos; - CHECK_FILE (fp, EOF); - _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); - _IO_flockfile (fp); - pos = _IO_seekoff_unlocked (fp, 0, _IO_seek_cur, 0); - if (_IO_in_backup (fp)) - pos -= fp->_IO_save_end - fp->_IO_save_base; - _IO_funlockfile (fp); - _IO_cleanup_region_end (0); - if (pos == _IO_pos_BAD) - { - /* ANSI explicitly requires setting errno to a positive value on - failure. */ -#ifdef EIO - if (errno == 0) - __set_errno (EIO); -#endif - return EOF; - } - posp->__pos = pos; - return 0; -#else - __set_errno (ENOSYS); - return EOF; -#endif -} - -#ifdef weak_alias -compat_symbol (libc, _IO_old_fgetpos64, _IO_fgetpos64, GLIBC_2_1); -strong_alias (_IO_old_fgetpos64, __old_fgetpos64) -compat_symbol (libc, __old_fgetpos64, fgetpos64, GLIBC_2_1); -#endif - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofopen.c b/src/system/libroot/posix/glibc/libio/oldiofopen.c deleted file mode 100644 index 67a9eba..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofopen.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (C) 1993, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -#define _IO_USE_OLD_IO_FILE -#include "libioP.h" -#ifdef __STDC__ -#include <stdlib.h> -#endif - - -_IO_FILE * -_IO_old_fopen (filename, mode) - const char *filename; - const char *mode; -{ - struct locked_FILE - { - struct _IO_FILE_plus fp; -#ifdef _IO_MTSAFE_IO - _IO_lock_t lock; -#endif - } *new_f = (struct locked_FILE *) malloc (sizeof (struct locked_FILE)); - - if (new_f == NULL) - return NULL; -#ifdef _IO_MTSAFE_IO - new_f->fp.file._lock = &new_f->lock; -#endif - INTUSE(_IO_init) (&new_f->fp.file, 0); - _IO_JUMPS (&new_f->fp) = &_IO_old_file_jumps; - _IO_old_file_init (&new_f->fp); -#if !_IO_UNIFIED_JUMPTABLES - new_f->fp.vtable = NULL; -#endif - if (_IO_old_file_fopen ((_IO_FILE *) &new_f->fp, filename, mode) != NULL) - return (_IO_FILE *) &new_f->fp; - INTUSE(_IO_un_link) (&new_f->fp); - free (new_f); - return NULL; -} - -strong_alias (_IO_old_fopen, __old_fopen) -compat_symbol (libc, _IO_old_fopen, _IO_fopen, GLIBC_2_0); -compat_symbol (libc, __old_fopen, fopen, GLIBC_2_0); -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofsetpos.c b/src/system/libroot/posix/glibc/libio/oldiofsetpos.c deleted file mode 100644 index ce3bb12..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofsetpos.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (C) 1993,95,97,98,99,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include <libioP.h> -#include <errno.h> - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) -int -_IO_old_fsetpos (fp, posp) - _IO_FILE *fp; - const _IO_fpos_t *posp; -{ - int result; - CHECK_FILE (fp, EOF); - _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); - _IO_flockfile (fp); - if (_IO_seekpos_unlocked (fp, posp->__pos, _IOS_INPUT|_IOS_OUTPUT) - == _IO_pos_BAD) - { - /* ANSI explicitly requires setting errno to a positive value on - failure. */ -#ifdef EIO - if (errno == 0) - __set_errno (EIO); -#endif - result = EOF; - } - else - result = 0; - _IO_funlockfile (fp); - _IO_cleanup_region_end (0); - return result; -} - -#ifdef weak_alias -compat_symbol (libc, _IO_old_fsetpos, _IO_fsetpos, GLIBC_2_0); -strong_alias (_IO_old_fsetpos, __old_fsetpos) -compat_symbol (libc, __old_fsetpos, fsetpos, GLIBC_2_0); -#endif - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiofsetpos64.c b/src/system/libroot/posix/glibc/libio/oldiofsetpos64.c deleted file mode 100644 index 834f154..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiofsetpos64.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (C) 1993,95,97,98,99,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include <libioP.h> -#include <errno.h> - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) - -int -_IO_old_fsetpos64 (fp, posp) - _IO_FILE *fp; - const _IO_fpos64_t *posp; -{ -#ifdef _G_LSEEK64 - int result; - CHECK_FILE (fp, EOF); - _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); - _IO_flockfile (fp); - if (_IO_seekpos_unlocked (fp, posp->__pos, _IOS_INPUT|_IOS_OUTPUT) - == _IO_pos_BAD) - { - /* ANSI explicitly requires setting errno to a positive value on - failure. */ -#ifdef EIO - if (errno == 0) - __set_errno (EIO); -#endif - result = EOF; - } - else - result = 0; - _IO_funlockfile (fp); - _IO_cleanup_region_end (0); - return result; -#else - __set_errno (ENOSYS); - return EOF; -#endif -} - -#ifdef weak_alias -compat_symbol (libc, _IO_old_fsetpos64, _IO_fsetpos64, GLIBC_2_1); -strong_alias (_IO_old_fsetpos64, __old_fsetpos64) -compat_symbol (libc, __old_fsetpos64, fsetpos64, GLIBC_2_1); -#endif - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldiopopen.c b/src/system/libroot/posix/glibc/libio/oldiopopen.c deleted file mode 100644 index b818af4..0000000 --- a/src/system/libroot/posix/glibc/libio/oldiopopen.c +++ /dev/null @@ -1,316 +0,0 @@ -/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Written by Per Bothner <bothner@xxxxxxxxxx>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#define _IO_USE_OLD_IO_FILE -#ifndef _POSIX_SOURCE -# define _POSIX_SOURCE -#endif -#include "libioP.h" -#if _IO_HAVE_SYS_WAIT -#include <signal.h> -#include <unistd.h> -#ifdef __STDC__ -#include <stdlib.h> -#endif -#ifdef _LIBC -# include <unistd.h> -#endif -#include <sys/types.h> -#include <sys/wait.h> - -#ifndef _IO_fork -#ifdef _LIBC -#define _IO_fork __vfork -#else -#define _IO_fork vfork /* defined in libiberty, if needed */ -#endif -extern _IO_pid_t _IO_fork __P ((void)); -#endif - -#endif /* _IO_HAVE_SYS_WAIT */ - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -#ifndef _IO_pipe -#ifdef _LIBC -#define _IO_pipe __pipe -#else -#define _IO_pipe pipe -#endif -extern int _IO_pipe __P ((int des[2])); -#endif - -#ifndef _IO_dup2 -#ifdef _LIBC -#define _IO_dup2 __dup2 -#else -#define _IO_dup2 dup2 -#endif -extern int _IO_dup2 __P ((int fd, int fd2)); -#endif - -#ifndef _IO_waitpid -#ifdef _LIBC -#define _IO_waitpid __waitpid -#else -#define _IO_waitpid waitpid -#endif -#endif - -#ifndef _IO_execl -#define _IO_execl execl -#endif -#ifndef _IO__exit -#define _IO__exit _exit -#endif - -#ifndef _IO_close -#ifdef _LIBC -#define _IO_close __close -#else -#define _IO_close close -#endif -#endif - -struct _IO_proc_file -{ - struct _IO_FILE_plus file; - /* Following fields must match those in class procbuf (procbuf.h) */ - _IO_pid_t pid; - struct _IO_proc_file *next; -}; -typedef struct _IO_proc_file _IO_proc_file; - -static struct _IO_proc_file *old_proc_file_chain; - -#ifdef _IO_MTSAFE_IO -static _IO_lock_t proc_file_chain_lock = _IO_lock_initializer; - -static void -unlock (void *not_used) -{ - _IO_lock_unlock (proc_file_chain_lock); -} -#endif - -_IO_FILE * -_IO_old_proc_open (fp, command, mode) - _IO_FILE *fp; - const char *command; - const char *mode; -{ -#if _IO_HAVE_SYS_WAIT - volatile int read_or_write; - volatile int parent_end, child_end; - int pipe_fds[2]; - _IO_pid_t child_pid; - if (_IO_file_is_open (fp)) - return NULL; - if (_IO_pipe (pipe_fds) < 0) - return NULL; - if (mode[0] == 'r' && mode[1] == '\0') - { - parent_end = pipe_fds[0]; - child_end = pipe_fds[1]; - read_or_write = _IO_NO_WRITES; - } - else if (mode[0] == 'w' && mode[1] == '\0') - { - parent_end = pipe_fds[1]; - child_end = pipe_fds[0]; - read_or_write = _IO_NO_READS; - } - else - { - _IO_close (pipe_fds[0]); - _IO_close (pipe_fds[1]); - __set_errno (EINVAL); - return NULL; - } - ((_IO_proc_file *) fp)->pid = child_pid = _IO_fork (); - if (child_pid == 0) - { - int child_std_end = mode[0] == 'r' ? 1 : 0; - struct _IO_proc_file *p; - - _IO_close (parent_end); - if (child_end != child_std_end) - { - _IO_dup2 (child_end, child_std_end); - _IO_close (child_end); - } - /* POSIX.2: "popen() shall ensure that any streams from previous - popen() calls that remain open in the parent process are closed - in the new child process." */ - for (p = old_proc_file_chain; p; p = p->next) - _IO_close (_IO_fileno ((_IO_FILE *) p)); - - _IO_execl ("/bin/sh", "sh", "-c", command, (char *) 0); - _IO__exit (127); - } - _IO_close (child_end); - if (child_pid < 0) - { - _IO_close (parent_end); - return NULL; - } - _IO_fileno (fp) = parent_end; - - /* Link into old_proc_file_chain. */ -#ifdef _IO_MTSAFE_IO - _IO_cleanup_region_start_noarg (unlock); - _IO_lock_lock (proc_file_chain_lock); -#endif - ((_IO_proc_file *) fp)->next = old_proc_file_chain; - old_proc_file_chain = (_IO_proc_file *) fp; -#ifdef _IO_MTSAFE_IO - _IO_lock_unlock (proc_file_chain_lock); - _IO_cleanup_region_end (0); -#endif - - _IO_mask_flags (fp, read_or_write, _IO_NO_READS|_IO_NO_WRITES); - return fp; -#else /* !_IO_HAVE_SYS_WAIT */ - return NULL; -#endif -} - -_IO_FILE * -_IO_old_popen (command, mode) - const char *command; - const char *mode; -{ - struct locked_FILE - { - struct _IO_proc_file fpx; -#ifdef _IO_MTSAFE_IO - _IO_lock_t lock; -#endif - } *new_f; - _IO_FILE *fp; - - new_f = (struct locked_FILE *) malloc (sizeof (struct locked_FILE)); - if (new_f == NULL) - return NULL; -#ifdef _IO_MTSAFE_IO - new_f->fpx.file.file._lock = &new_f->lock; -#endif - fp = &new_f->fpx.file.file; - INTUSE(_IO_init) (fp, 0); - _IO_JUMPS (&new_f->fpx.file) = &_IO_old_proc_jumps; - _IO_old_file_init (&new_f->fpx.file); -#if !_IO_UNIFIED_JUMPTABLES - new_f->fpx.file.vtable = NULL; -#endif - if (_IO_old_proc_open (fp, command, mode) != NULL) - return fp; - INTUSE(_IO_un_link) (&new_f->fpx.file); - free (new_f); - return NULL; -} - -int -_IO_old_proc_close (fp) - _IO_FILE *fp; -{ - /* This is not name-space clean. FIXME! */ -#if _IO_HAVE_SYS_WAIT - int wstatus; - _IO_proc_file **ptr = &old_proc_file_chain; - _IO_pid_t wait_pid; - int status = -1; - - /* Unlink from old_proc_file_chain. */ -#ifdef _IO_MTSAFE_IO - _IO_cleanup_region_start_noarg (unlock); - _IO_lock_lock (proc_file_chain_lock); -#endif - for ( ; *ptr != NULL; ptr = &(*ptr)->next) - { - if (*ptr == (_IO_proc_file *) fp) - { - *ptr = (*ptr)->next; - status = 0; - break; - } - } -#ifdef _IO_MTSAFE_IO - _IO_lock_unlock (proc_file_chain_lock); - _IO_cleanup_region_end (0); -#endif - - if (status < 0 || _IO_close (_IO_fileno(fp)) < 0) - return -1; - /* POSIX.2 Rationale: "Some historical implementations either block - or ignore the signals SIGINT, SIGQUIT, and SIGHUP while waiting - for the child process to terminate. Since this behavior is not - described in POSIX.2, such implementations are not conforming." */ - do - { - wait_pid = _IO_waitpid (((_IO_proc_file *) fp)->pid, &wstatus, 0); - } - while (wait_pid == -1 && errno == EINTR); - if (wait_pid == -1) - return -1; - return wstatus; -#else /* !_IO_HAVE_SYS_WAIT */ - return -1; -#endif -} - -struct _IO_jump_t _IO_old_proc_jumps = { - JUMP_INIT_DUMMY, - JUMP_INIT(finish, _IO_old_file_finish), - JUMP_INIT(overflow, _IO_old_file_overflow), - JUMP_INIT(underflow, _IO_old_file_underflow), - JUMP_INIT(uflow, INTUSE(_IO_default_uflow)), - JUMP_INIT(pbackfail, INTUSE(_IO_default_pbackfail)), - JUMP_INIT(xsputn, _IO_old_file_xsputn), - JUMP_INIT(xsgetn, INTUSE(_IO_default_xsgetn)), - JUMP_INIT(seekoff, _IO_old_file_seekoff), - JUMP_INIT(seekpos, _IO_default_seekpos), - JUMP_INIT(setbuf, _IO_old_file_setbuf), - JUMP_INIT(sync, _IO_old_file_sync), - JUMP_INIT(doallocate, INTUSE(_IO_file_doallocate)), - JUMP_INIT(read, INTUSE(_IO_file_read)), - JUMP_INIT(write, _IO_old_file_write), - JUMP_INIT(seek, INTUSE(_IO_file_seek)), - JUMP_INIT(close, _IO_old_proc_close), - JUMP_INIT(stat, INTUSE(_IO_file_stat)), - JUMP_INIT(showmanyc, _IO_default_showmanyc), - JUMP_INIT(imbue, _IO_default_imbue) -}; - -strong_alias (_IO_old_popen, __old_popen) -compat_symbol (libc, _IO_old_popen, _IO_popen, GLIBC_2_0); -compat_symbol (libc, __old_popen, popen, GLIBC_2_0); -compat_symbol (libc, _IO_old_proc_open, _IO_proc_open, GLIBC_2_0); -compat_symbol (libc, _IO_old_proc_close, _IO_proc_close, GLIBC_2_0); - -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldpclose.c b/src/system/libroot/posix/glibc/libio/oldpclose.c deleted file mode 100644 index ecc58bb..0000000 --- a/src/system/libroot/posix/glibc/libio/oldpclose.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1998,2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -#define _IO_USE_OLD_IO_FILE -#include "libioP.h" -#include "stdio.h" -#include <errno.h> - -int -__old_pclose (fp) - FILE *fp; -{ -#if 0 - /* Does not actually test that stream was created by popen(). Instead, - it depends on the filebuf::sys_close() virtual to Do The Right Thing. */ - if (fp is not a proc_file) - return -1; -#endif - return _IO_old_fclose (fp); -} - -compat_symbol (libc, __old_pclose, pclose, GLIBC_2_0); -#endif diff --git a/src/system/libroot/posix/glibc/libio/oldstdfiles.c b/src/system/libroot/posix/glibc/libio/oldstdfiles.c deleted file mode 100644 index a34c936..0000000 --- a/src/system/libroot/posix/glibc/libio/oldstdfiles.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright (C) 1993,94,96,97,99,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -//#include <shlib-compat.h> -//#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -/* This file provides definitions of _IO_stdin, _IO_stdout, and _IO_stderr - for C code. Compare stdstreams.cc. - (The difference is that here the vtable field is set to 0, - so the objects defined are not valid C++ objects. On the other - hand, we don't need a C++ compiler to build this file.) */ - -#define _IO_USE_OLD_IO_FILE -#include "libioP.h" - -#ifdef _IO_MTSAFE_IO -#define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ - static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \ - struct _IO_FILE_plus NAME \ - = {FILEBUF_LITERAL(CHAIN, FLAGS, FD, NULL), &_IO_old_file_jumps}; -#else -#define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ - struct _IO_FILE_plus NAME \ - = {FILEBUF_LITERAL(CHAIN, FLAGS, FD, NULL), &_IO_old_file_jumps}; -#endif - -DEF_STDFILE(_IO_stdin_, 0, 0, _IO_NO_WRITES); -DEF_STDFILE(_IO_stdout_, 1, &_IO_stdin_, _IO_NO_READS); -DEF_STDFILE(_IO_stderr_, 2, &_IO_stdout_, _IO_NO_READS+_IO_UNBUFFERED); - -#if defined __GNUC__ && __GNUC__ >= 2 - -#include <stdio.h> - -//extern const int _IO_stdin_used; -//weak_extern (_IO_stdin_used); - -#undef stdin -#undef stdout -#undef stderr - -extern FILE *stdin; -extern FILE *stdout; -extern FILE *stderr; - -static void _IO_check_libio __P ((void)) __attribute__ ((constructor)); - -/* This function determines which shared C library the application - was linked against. We then set up the stdin/stdout/stderr and - _IO_list_all accordingly. */ - -static void -_IO_check_libio () -{ - _kern_debug_output("Hey dude!\n"); - //if (&_IO_stdin_used == NULL) - { - /* We are using the old one. */ - _IO_stdin = stdin = (_IO_FILE *) &_IO_stdin_; - _IO_stdout = stdout = (_IO_FILE *) &_IO_stdout_; - _IO_stderr = stderr = (_IO_FILE *) &_IO_stderr_; - INTUSE(_IO_list_all) = &_IO_stderr_; - _IO_stdin->_vtable_offset = _IO_stdout->_vtable_offset = - _IO_stderr->_vtable_offset = stdin->_vtable_offset = - stdout->_vtable_offset = stderr->_vtable_offset = - ((int) sizeof (struct _IO_FILE) - - (int) sizeof (struct _IO_FILE_complete)); - } -} - -#endif - -//#endif diff --git a/src/system/libroot/posix/glibc/libio/oldtmpfile.c b/src/system/libroot/posix/glibc/libio/oldtmpfile.c deleted file mode 100644 index 22dd668..0000000 --- a/src/system/libroot/posix/glibc/libio/oldtmpfile.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991, 1993, 1996-1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) - -#define _IO_USE_OLD_IO_FILE -#include <stdio.h> -#include <unistd.h> -#include <iolibio.h> - -/* This returns a new stream opened on a temporary file (generated - by tmpnam). The file is opened with mode "w+b" (binary read/write). - If we couldn't generate a unique filename or the file couldn't - be opened, NULL is returned. */ -FILE * -__old_tmpfile (void) -{ - char buf[FILENAME_MAX]; - int fd; - FILE *f; - - if (__path_search (buf, FILENAME_MAX, NULL, "tmpf", 0)) - return NULL; - fd = __gen_tempname (buf, __GT_FILE); - if (fd < 0) - return NULL; - - /* Note that this relies on the Unix semantics that - a file is not really removed until it is closed. */ - (void) remove (buf); - - if ((f = _IO_old_fdopen (fd, "w+b")) == NULL) - __close (fd); - - return f; -} - -compat_symbol (libc, __old_tmpfile, tmpfile, GLIBC_2_0); -#endif diff --git a/src/system/libroot/posix/glibc/libio/wfile_stubs.c b/src/system/libroot/posix/glibc/libio/wfile_stubs.c deleted file mode 100644 index 074fc85..0000000 --- a/src/system/libroot/posix/glibc/libio/wfile_stubs.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1993,95,97,98,99,2000,2001,2002 Free Software Foundation, Inc. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. -*/ - - -#include <libioP.h> - - -struct _IO_jump_t _IO_wfile_jumps = { - JUMP_INIT_DUMMY, - NULL -}; -INTVARDEF(_IO_wfile_jumps) - -struct _IO_jump_t _IO_wfile_jumps_mmap = { - JUMP_INIT_DUMMY, - NULL -}; - -struct _IO_jump_t _IO_wfile_jumps_maybe_mmap = { - JUMP_INIT_DUMMY, - NULL -};