diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-08-09 02:01:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-08-09 02:01:10 +0000 |
commit | 8f739934b026cd0c298e3196d38d483eb1f88bed (patch) | |
tree | 41ecaffbbe2ab78a616e2e3df25e8d9588aa6c56 /libio/ioungetwc.c | |
parent | update. (diff) | |
download | glibc-8f739934b026cd0c298e3196d38d483eb1f88bed.tar.gz glibc-8f739934b026cd0c298e3196d38d483eb1f88bed.tar.bz2 glibc-8f739934b026cd0c298e3196d38d483eb1f88bed.zip |
Update.
* libio/ioungetwc.c (ungetwc): Orient stream first.
* libio/Makefile (tests): Add tst-ungetwc1.
* libio/tst-ungetwc1.c: New file.
Diffstat (limited to 'libio/ioungetwc.c')
-rw-r--r-- | libio/ioungetwc.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libio/ioungetwc.c b/libio/ioungetwc.c index 11eb7c4df1..542b7b1e2b 100644 --- a/libio/ioungetwc.c +++ b/libio/ioungetwc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1996-1999, 2001 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 @@ -35,11 +35,13 @@ ungetwc (c, fp) { int result; CHECK_FILE (fp, WEOF); - if (c == WEOF) - return WEOF; _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); _IO_flockfile (fp); - result = _IO_sputbackwc (fp, c); + _IO_fwide (fp, 1); + if (c == WEOF) + result = WEOF; + else + result = _IO_sputbackwc (fp, c); _IO_funlockfile (fp); _IO_cleanup_region_end (0); return result; |