1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
2003-08-25  Ulrich Drepper  <drepper@redhat.com>

	* libio/libio.h (_IO_fwide): In the mode==0 optimization, don't
	use _mode if _IO_fwide_maybe_incompatible.
	* libio/iofwide.c (_IO_fwide): Move the test for mode == 0 after
	the compatibility test.
This commit is contained in:
Ulrich Drepper
2003-08-25 21:45:12 +00:00
parent 0b9225cd7f
commit 1c8c5277a7
3 changed files with 15 additions and 10 deletions

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
/* Copyright (C) 1999, 2000, 2001, 2002, 2003 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
@@ -100,20 +100,18 @@ _IO_fwide (fp, mode)
/* Normalize the value. */
mode = mode < 0 ? -1 : (mode == 0 ? 0 : 1);
if (mode == 0)
/* The caller simply wants to know about the current orientation. */
return fp->_mode;
#if defined SHARED && defined _LIBC \
&& SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
if (__builtin_expect (&_IO_stdin_used == NULL, 0)
&& (fp == _IO_stdin || fp == _IO_stdout || fp == _IO_stderr))
&& (fp == _IO_stdin || fp == _IO_stdout || fp == _IO_stderr))
/* This is for a stream in the glibc 2.0 format. */
return -1;
#endif
if (fp->_mode != 0)
/* The orientation already has been determined. */
/* The orientation already has been determined. */
if (fp->_mode != 0
/* Or the caller simply wants to know about the current orientation. */
|| mode == 0)
return fp->_mode;
/* Set the orientation appropriately. */