Work around a HP-UX stdio bug.
authorBruno Haible <bruno@clisp.org>
Sun, 13 Apr 2008 19:41:13 +0000 (21:41 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 13 Apr 2008 19:41:13 +0000 (21:41 +0200)
ChangeLog
doc/posix-functions/ftell.texi
doc/posix-functions/ftello.texi
tests/test-ftell.c
tests/test-ftello.c

index b9b9692..46aa92c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2008-04-13  Bruno Haible  <bruno@clisp.org>
 
+       Work around a HP-UX stdio bug.
+       * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
+       * tests/test-ftello.c (main): Likewise.
+       * doc/posix-functions/ftell.texi: Mention HP-UX bug.
+       * doc/posix-functions/ftello.texi: Likewise.
+
+2008-04-13  Bruno Haible  <bruno@clisp.org>
+
        Make test-signbit pass on HP-UX/hppa.
        * tests/test-signbit.c (minus_zerol): New variable.
        (test_signbitl): Use it.
index 00b5402..a692859 100644 (file)
@@ -10,6 +10,10 @@ Portability problems fixed by Gnulib:
 @itemize
 @item
 This function mistakenly succeeds on pipes on some platforms: mingw.
+@item
+This function produces incorrect results immediately after @code{fseek} on some
+platforms:
+HP-UX 11.
 @end itemize
 
 Portability problems not fixed by Gnulib:
index e78300f..ddee6a2 100644 (file)
@@ -15,6 +15,10 @@ OSF/1 4.0, Solaris 2.5.1, mingw.
 The declaration of @code{ftello} in @code{<stdio.h>} is not enabled by default
 on some platforms: glibc 2.3.6.
 @item
+This function produces incorrect results immediately after @code{fseek} on some
+platforms:
+HP-UX 11.
+@item
 This function fails on seekable stdin, stdout, and stderr: cygwin <= 1.5.24.
 @end itemize
 
index 79af6c5..092be19 100644 (file)
@@ -80,9 +80,11 @@ main (int argc, char **argv)
   ASSERT (ch == '@');
   ASSERT (ftell (stdin) == 3);
 
+#if !defined __hpux /* HP-UX 11 has a known bug here */
   /* Test ftell after ungetc without read.  */
   ASSERT (fseek (stdin, 0, SEEK_CUR) == 0);
   ASSERT (ftell (stdin) == 3);
+#endif
 
   ch = ungetc ('~', stdin);
   ASSERT (ch == '~');
index 26c7ab5..87f4966 100644 (file)
@@ -88,10 +88,12 @@ main (int argc, char **argv)
   ASSERT (ftell (stdin) == 3);
   ASSERT (ftello (stdin) == 3);
 
+#if !defined __hpux /* HP-UX 11 has a known bug here */
   /* Test ftell after ungetc without read.  */
   ASSERT (fseek (stdin, 0, SEEK_CUR) == 0);
   ASSERT (ftell (stdin) == 3);
   ASSERT (ftello (stdin) == 3);
+#endif
 
   ch = ungetc ('~', stdin);
   ASSERT (ch == '~');