You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by jo...@apache.org on 2004/09/09 17:42:02 UTC

cvs commit: apr/test teststr.c

jorton      2004/09/09 08:42:02

  Modified:    misc/unix errorcodes.c
               test     teststr.c
  Log:
  As per 0.9 branch:
  
  * misc/unix/errorcodes.c (native_strerror): Gracefully handle
  strerror() returning NULL on Solaris.
  
  * test/teststr.c (string_error): Throw some randomish numbers at
  apr_strerror to check for robustness.
  
  Revision  Changes    Path
  1.59      +7 -1      apr/misc/unix/errorcodes.c
  
  Index: errorcodes.c
  ===================================================================
  RCS file: /home/cvs/apr/misc/unix/errorcodes.c,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -d -w -u -r1.58 -r1.59
  --- errorcodes.c	13 Feb 2004 09:38:32 -0000	1.58
  +++ errorcodes.c	9 Sep 2004 15:42:01 -0000	1.59
  @@ -374,7 +374,13 @@
       sprintf(err, "Native Error #%d", statcode);
       return stuffbuffer(buf, bufsize, err);
   #else
  -    return stuffbuffer(buf, bufsize, strerror(statcode));
  +    const char *err = strerror(statcode);
  +    if (err) {
  +        return stuffbuffer(buf, bufsize, err);
  +    } else {
  +        return stuffbuffer(buf, bufsize, 
  +                           "APR does not understand this error code");
  +    }
   #endif
   }
   #endif
  
  
  
  1.27      +6 -0      apr/test/teststr.c
  
  Index: teststr.c
  ===================================================================
  RCS file: /home/cvs/apr/test/teststr.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -d -w -u -r1.26 -r1.27
  --- teststr.c	26 Jul 2004 15:21:59 -0000	1.26
  +++ teststr.c	9 Sep 2004 15:42:02 -0000	1.27
  @@ -150,6 +150,7 @@
   static void string_error(abts_case *tc, void *data)
   {
        char buf[128], *rv;
  +     apr_status_t n;
   
        buf[0] = '\0';
        rv = apr_strerror(APR_ENOENT, buf, sizeof buf);
  @@ -159,6 +160,11 @@
        rv = apr_strerror(APR_TIMEUP, buf, sizeof buf);
        ABTS_PTR_EQUAL(tc, buf, rv);
        ABTS_STR_EQUAL(tc, "The timeout specified has expired", buf);
  +     
  +     /* throw some randomish numbers at it to check for robustness */
  +     for (n = 1; n < 1000000; n *= 2) {
  +         apr_strerror(n, buf, sizeof buf);
  +     }
   }
   
   #define SIZE 180000