aboutsummaryrefslogtreecommitdiff
path: root/stdio-common
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-09-27 00:00:42 +0000
committerUlrich Drepper <drepper@redhat.com>2005-09-27 00:00:42 +0000
commitb5d839c996d7236ed5788296b4d723e67ec4fdb8 (patch)
treea5220f793e6180e189b99ab8c59401ab01a26f71 /stdio-common
parent9a5933834ba8f1289024c1ab13e1cd711b5ec3af (diff)
downloadglibc-b5d839c996d7236ed5788296b4d723e67ec4fdb8.zip
glibc-b5d839c996d7236ed5788296b4d723e67ec4fdb8.tar.gz
glibc-b5d839c996d7236ed5788296b4d723e67ec4fdb8.tar.bz2
[BZ #713]
2005-09-26 Ulrich Drepper <drepper@redhat.com> [BZ #713] * libio/iofgets.c: Treat N==1 correctly. * libio/iofgets_u.c: Likewise. * libio/iofgetws.c: Likewise. * libio/iofgetws_u.c: Likewise. * stdio-common/Makefile (tests): Add tst-fgets. * stdio-common/tst-fgets.c: New file.
Diffstat (limited to 'stdio-common')
-rw-r--r--stdio-common/Makefile2
-rw-r--r--stdio-common/tst-fgets.c20
2 files changed, 21 insertions, 1 deletions
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index 39c7d9d..dbf7d16 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -53,7 +53,7 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf tst-sscanf \
tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \
tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15 \
- tst-popen tst-unlockedio tst-fmemopen2 tst-put-error
+ tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets
test-srcs = tst-unbputc tst-printf
diff --git a/stdio-common/tst-fgets.c b/stdio-common/tst-fgets.c
new file mode 100644
index 0000000..b8e205c
--- /dev/null
+++ b/stdio-common/tst-fgets.c
@@ -0,0 +1,20 @@
+/* Derived from the test case in
+ http://sourceware.org/bugzilla/show_bug.cgi?id=713. */
+#include <stdio.h>
+
+static int
+do_test (void)
+{
+ FILE *fp = fmemopen ("hello", 5, "r");
+ char buf[2];
+ char *bp = fgets (buf, sizeof (buf), fp);
+ printf ("fgets: %s\n", bp == buf ? "OK" : "ERROR");
+ int res = bp != buf;
+ bp = fgets_unlocked (buf, sizeof (buf), fp);
+ printf ("fgets_unlocked: %s\n", bp == buf ? "OK" : "ERROR");
+ res |= bp != buf;
+ return res;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"