1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
* libio/iovdprintf.c (_IO_vdprintf): Set _IO_USER_LOCK flag for
	temporary stream.  Don't define lock.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsnprintf.c: Likewise.
	* libio/iovswprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.
	* libio/iovswscanf.c: Likewise.
	* stdio-common/vfprintf.c [USE_IN_LIBIO] (buffered_vfprintf): Likewise.
	* libio/genops.c (_IO_no_init): Don't call _IO_lock_init if _lock
	is NULL.
	(_IO_default_finish): Likewise.
	* libio/wgenops.c (_IO_wdefault_finish): Likewise.
This commit is contained in:
Ulrich Drepper
2001-08-11 05:19:24 +00:00
parent 07ba734927
commit c020d48c6e
14 changed files with 48 additions and 70 deletions

View File

@ -36,22 +36,19 @@ _IO_vdprintf (d, format, arg)
_IO_va_list arg;
{
struct _IO_FILE_plus tmpfil;
#ifdef _IO_MTSAFE_IO
_IO_lock_t lock;
#endif
struct _IO_wide_data wd;
int done;
#ifdef _IO_MTSAFE_IO
tmpfil.file._lock = &lock;
tmpfil.file._lock = NULL;
#endif
_IO_no_init (&tmpfil.file, 0, 0, &wd, &_IO_wfile_jumps);
_IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps);
_IO_JUMPS (&tmpfil) = &_IO_file_jumps;
_IO_file_init (&tmpfil);
#if !_IO_UNIFIED_JUMPTABLES
tmpfil.vtable = NULL;
#endif
if (_IO_file_attach ((_IO_FILE *) &tmpfil, d) == NULL)
if (_IO_file_attach (&tmpfil.file, d) == NULL)
{
_IO_un_link (&tmpfil);
return EOF;
@ -60,13 +57,10 @@ _IO_vdprintf (d, format, arg)
(_IO_mask_flags (&tmpfil.file, _IO_NO_READS,
_IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING)
| _IO_DELETE_DONT_CLOSE);
#ifdef _IO_MTSAFE_IO
__fsetlocking ((FILE *) &tmpfil, FSETLOCKING_BYCALLER);
#endif
done = _IO_vfprintf ((_IO_FILE *) &tmpfil, format, arg);
done = _IO_vfprintf (&tmpfil.file, format, arg);
_IO_FINISH ((_IO_FILE *) &tmpfil);
_IO_FINISH (&tmpfil.file);
return done;
}