diff options
author | Roland McGrath <roland@gnu.org> | 1996-03-12 09:50:46 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-03-12 09:50:46 +0000 |
commit | 1177c8babf74c7335c5f3bf09c45961bebeed6c6 (patch) | |
tree | 32a7b9a837848f7af33a8c541f092ec6acfda9ac /stdio-common/tst-ungetc.c | |
parent | dd0e4e0c8bc50309bdadae2ec78c4ccf15e6c402 (diff) | |
download | glibc-1177c8babf74c7335c5f3bf09c45961bebeed6c6.tar.gz |
Tue Mar 12 04:42:01 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/sparc/jmp_buf.h: Rewritten; use array of ints, not struct.
* sysdeps/sparc/setjmp.S: Rewritten; store %fp value as well.
* sysdeps/sparc/__longjmp.S: Rewritten; unwind frames one by one with
`restore' until the target frame is hit.
Sun Mar 10 20:29:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sigsuspend.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove sigsuspend, add
s_sigsuspend.
Thu Mar 7 21:30:58 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (+make-deps, sed-remove-objpfx): Quote periods on the
left side of sed substitutions.
Sun Mar 10 16:58:10 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdio-common/printf_fp.c (hack_digit): __mpn_normal_size
is not available anymore. Do it ourselves.
* sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_SETCW):
Correct GCC `asm' syntax.
* stdio-common/Makefile (tests): Add tst-ungetc.
* stdio-common/tst-ungetc.c: New test from drepper.
* stdio-common/tstscanf.c (main): New %[ test case from drepper.
* sysdeps/libm-ieee754/s_scalbn.c (scalbn): Rename to __scalbn;
somehow this was missed, though the weak alias is already there.
Diffstat (limited to 'stdio-common/tst-ungetc.c')
-rw-r--r-- | stdio-common/tst-ungetc.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/stdio-common/tst-ungetc.c b/stdio-common/tst-ungetc.c new file mode 100644 index 0000000000..67c45d4028 --- /dev/null +++ b/stdio-common/tst-ungetc.c @@ -0,0 +1,42 @@ +/* Test for ungetc bugs. */ + +#include <stdio.h> + +#define assert(x) \ + if (!(x)) \ + { \ + fputs ("test failed: " #x "\n", stderr); \ + retval = 1; \ + goto the_end; \ + } + +int +main (int argc, char *argv[]) +{ + char *name; + FILE *fp = NULL; + int retval = 0; + int c; + + name = tmpnam (NULL); + fp = fopen (name, "w"); + assert (fp != NULL) + fputs ("bl", fp); + fclose (fp); + fp = NULL; + + fp = fopen (name, "r"); + assert (fp != NULL) + assert (getc (fp) != EOF); + assert ((c = getc (fp)) != EOF); + assert (getc (fp) == EOF); + assert (ungetc (c, fp) == c); + assert (feof (fp) == 0); + +the_end: + if (fp != NULL) + fclose (fp); + unlink (name); + + return retval; +} |