ptsname_r tests: Fix bugs.
authorBruno Haible <bruno@clisp.org>
Thu, 10 Nov 2011 01:41:17 +0000 (02:41 +0100)
committerBruno Haible <bruno@clisp.org>
Thu, 10 Nov 2011 01:41:17 +0000 (02:41 +0100)
* tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.

ChangeLog
tests/test-ptsname_r.c

index f8c765b..ee37671 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-11-09  Bruno Haible  <bruno@clisp.org>
+
+       ptsname_r tests: Fix bugs.
+       * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
+       Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
+
 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
 
        fstatat: work with cross-compilation
index a97b179..5906e2e 100644 (file)
@@ -53,20 +53,24 @@ same_slave (const char *slave_name1, const char *slave_name2)
               && SAME_INODE (statbuf1, statbuf2)));
 }
 
-static int
+static void
 test_errors (int fd, const char *slave)
 {
   char buffer[256];
   size_t len;
-  int result;
+  size_t buflen_max;
   size_t buflen;
+  int result;
 
   len = strlen (slave);
-  for (buflen = 0; buflen <= sizeof buffer; buflen++)
+  buflen_max = len + 5;
+  if (buflen_max > sizeof buffer)
+    buflen_max = sizeof buffer;
+  for (buflen = 0; buflen <= buflen_max; buflen++)
     {
-      errno = 0;
       memset (buffer, 'X', sizeof buffer);
-      result = ptsname_r (fd, buffer, len);
+      errno = 0;
+      result = ptsname_r (fd, buffer, buflen);
       if (buflen > len)
         {
           ASSERT (result == 0);