1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
2003-10-27  Daniel Jacobowitz  <drow@mvista.com>

	* libio/libioP.h [_IO_USE_OLD_IO_FILE]
	(struct _IO_FILE_complete_plus): New type.
	* libio/oldiofopen.c (_IO_old_fopen): Use _IO_FILE_complete_plus.
	* libio/oldiofdopen.c (_IO_old_fdopen): Likewise.
	* libio/oldiopopen.c (struct _IO_proc_file, _IO_old_popen): Likewise.
	Call _IO_old_init instead of _IO_init.
This commit is contained in:
Ulrich Drepper
2003-11-04 09:58:57 +00:00
parent f0c76a28fd
commit 7ea113633e
5 changed files with 43 additions and 23 deletions

View File

@ -100,7 +100,7 @@ extern int _IO_dup2 __P ((int fd, int fd2));
struct _IO_proc_file
{
struct _IO_FILE_plus file;
struct _IO_FILE_complete_plus file;
/* Following fields must match those in class procbuf (procbuf.h) */
_IO_pid_t pid;
struct _IO_proc_file *next;
@ -219,18 +219,18 @@ _IO_old_popen (command, mode)
if (new_f == NULL)
return NULL;
#ifdef _IO_MTSAFE_IO
new_f->fpx.file.file._lock = &new_f->lock;
new_f->fpx.file.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);
fp = &new_f->fpx.file.file._file;
_IO_old_init (fp, 0);
_IO_JUMPS ((struct _IO_FILE_plus *) &new_f->fpx.file) = &_IO_old_proc_jumps;
_IO_old_file_init ((struct _IO_FILE_plus *) &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);
INTUSE(_IO_un_link) ((struct _IO_FILE_plus *) &new_f->fpx.file);
free (new_f);
return NULL;
}