1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00
Update.
2004-07-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #282]
	* libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
	_IO_no_init.  Remove wd from struct locked_FILE.
	(_IO_wproc_jumps): Remove.
	Reported by Andrew Josey <a.josey@opengroup.org>.
	* stdio-common/Makefile (tests): Add tst-popen.
	* stdio-common/tst-popen.c: New test.
This commit is contained in:
Ulrich Drepper
2004-07-23 18:53:26 +00:00
parent 7a80496fb1
commit 06bfee07cb
6 changed files with 104 additions and 40 deletions

View File

@@ -106,7 +106,6 @@ struct _IO_proc_file
typedef struct _IO_proc_file _IO_proc_file;
static const struct _IO_jump_t _IO_proc_jumps;
static const struct _IO_jump_t _IO_wproc_jumps;
static struct _IO_proc_file *proc_file_chain;
@@ -213,7 +212,6 @@ _IO_new_popen (command, mode)
#ifdef _IO_MTSAFE_IO
_IO_lock_t lock;
#endif
struct _IO_wide_data wd;
} *new_f;
_IO_FILE *fp;
@@ -224,7 +222,7 @@ _IO_new_popen (command, mode)
new_f->fpx.file.file._lock = &new_f->lock;
#endif
fp = &new_f->fpx.file.file;
_IO_no_init (fp, 0, 0, &new_f->wd, &_IO_wproc_jumps);
INTUSE(_IO_init) (fp, 0);
_IO_JUMPS (&new_f->fpx.file) = &_IO_proc_jumps;
_IO_new_file_init (&new_f->fpx.file);
#if !_IO_UNIFIED_JUMPTABLES
@@ -309,29 +307,6 @@ static const struct _IO_jump_t _IO_proc_jumps = {
JUMP_INIT(imbue, _IO_default_imbue)
};
static const struct _IO_jump_t _IO_wproc_jumps = {
JUMP_INIT_DUMMY,
JUMP_INIT(finish, _IO_new_file_finish),
JUMP_INIT(overflow, _IO_new_file_overflow),
JUMP_INIT(underflow, _IO_new_file_underflow),
JUMP_INIT(uflow, INTUSE(_IO_default_uflow)),
JUMP_INIT(pbackfail, INTUSE(_IO_default_pbackfail)),
JUMP_INIT(xsputn, _IO_new_file_xsputn),
JUMP_INIT(xsgetn, INTUSE(_IO_default_xsgetn)),
JUMP_INIT(seekoff, _IO_new_file_seekoff),
JUMP_INIT(seekpos, _IO_default_seekpos),
JUMP_INIT(setbuf, _IO_new_file_setbuf),
JUMP_INIT(sync, _IO_new_file_sync),
JUMP_INIT(doallocate, INTUSE(_IO_file_doallocate)),
JUMP_INIT(read, INTUSE(_IO_file_read)),
JUMP_INIT(write, _IO_new_file_write),
JUMP_INIT(seek, INTUSE(_IO_file_seek)),
JUMP_INIT(close, _IO_new_proc_close),
JUMP_INIT(stat, INTUSE(_IO_file_stat)),
JUMP_INIT(showmanyc, _IO_default_showmanyc),
JUMP_INIT(imbue, _IO_default_imbue)
};
strong_alias (_IO_new_popen, __new_popen)
versioned_symbol (libc, _IO_new_popen, _IO_popen, GLIBC_2_1);
versioned_symbol (libc, __new_popen, popen, GLIBC_2_1);