2000-07-03  Ulrich Drepper  <drepper@redhat.com>

	* libio/genops.c (__overflow): Use _IO_fwide to orient the stream.
	(__uflow): Likewise.
	(__underflow): Likewise.
	* libio/wgenops.c (__wunderflow): Likewise.
	* stdio-common/tst-unbputc.c: New file.
	* stdio-common/tst-unbputc.sh: New file.
	* stdio-common/Makefile: Add rules to build and run tst-unbputc.

	* po/en_GB.po: New file.
	Contributed by Robert Brady <rwb197@ecs.soton.ac.uk>.
This commit is contained in:
Ulrich Drepper 2000-07-03 21:40:46 +00:00
parent 4a9e89d5ea
commit 6f98fd7ebb
7 changed files with 5256 additions and 0 deletions

View File

@ -1,3 +1,16 @@
2000-07-03 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (__overflow): Use _IO_fwide to orient the stream.
(__uflow): Likewise.
(__underflow): Likewise.
* libio/wgenops.c (__wunderflow): Likewise.
* stdio-common/tst-unbputc.c: New file.
* stdio-common/tst-unbputc.sh: New file.
* stdio-common/Makefile: Add rules to build and run tst-unbputc.
* po/en_GB.po: New file.
Contributed by Robert Brady <rwb197@ecs.soton.ac.uk>.
2000-07-01 Andreas Jaeger <aj@suse.de>
* intl/Makefile (generated-dirs): New.

View File

@ -194,6 +194,9 @@ __overflow (f, ch)
_IO_FILE *f;
int ch;
{
/* This is a single-byte stream. */
if (f->_mode == 0)
_IO_fwide (f, -1);
return _IO_OVERFLOW (f, ch);
}
@ -285,6 +288,8 @@ __underflow (fp)
if (fp->_vtable_offset == 0 && _IO_fwide (fp, -1) != -1)
return EOF;
if (fp->_mode == 0)
_IO_fwide (fp, -1);
if (_IO_in_put_mode (fp))
if (_IO_switch_to_get_mode (fp) == EOF)
return EOF;
@ -313,6 +318,8 @@ __uflow (fp)
if (fp->_vtable_offset == 0 && _IO_fwide (fp, -1) != -1)
return EOF;
if (fp->_mode == 0)
_IO_fwide (fp, -11);
if (_IO_in_put_mode (fp))
if (_IO_switch_to_get_mode (fp) == EOF)
return EOF;

View File

@ -272,6 +272,8 @@ __wunderflow (fp)
if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1))
return WEOF;
if (fp->_mode == 0)
_IO_fwide (fp, 1);
if (_IO_in_put_mode (fp))
if (_IO_switch_to_wget_mode (fp) == EOF)
return WEOF;

5183
po/en_GB.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -56,8 +56,17 @@ tests := tst-printf tstscanf test_rdwr test-popen tstgetln test-fseek \
scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9 scanf10 \
scanf12 tst-tmpnam tst-cookie tst-obprintf
test-srcs = tst-unbputc
include ../Rules
.PHONY: do-tst-unbputc
tests: do-tst-unbputc
do-tst-unbputc: $(objpfx)tst-unbputc.out
$(objpfx)tst-unbputc.out: $(objpfx)tst-unbputc tst-unbputc.sh
$(SHELL) -e tst-unbputc.sh $(common-objpfx)
CFLAGS-vfprintf.c = -Wno-uninitialized
CFLAGS-tst-printf.c = -Wno-format
CFLAGS-tstdiomisc.c = -Wno-format

View File

@ -0,0 +1,11 @@
#include <stdio.h>
int
main (void)
{
putc ('1', stderr);
putc ('2', stderr);
return 0;
}

31
stdio-common/tst-unbputc.sh Executable file
View File

@ -0,0 +1,31 @@
#! /bin/sh
# Testing the stdio implementation
# Copyright (C) 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 Library General Public License as
# published by the Free Software Foundation; either version 2 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
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with the GNU C Library; see the file COPYING.LIB. If
# not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
common_objpfx=$1; shift
status=0
${common_objpfx}elf/ld.so --library-path $common_objpfx \
${common_objpfx}stdio-common/tst-unbputc \
2> ${common_objpfx}stdio-common/tst-unbputc.out || status=1
(echo 12 | cmp ${common_objpfx}stdio-common/tst-unbputc.out -) || status=1
exit $status