test/ctype_internal_test.c: portability fixup.
authorAndy Polyakov <appro@openssl.org>
Fri, 2 Mar 2018 15:50:41 +0000 (16:50 +0100)
committerAndy Polyakov <appro@openssl.org>
Sat, 3 Mar 2018 21:15:15 +0000 (22:15 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/5493)

test/ctype_internal_test.c

index 9cb2321bc014ee10d47e13594f910244c253dfdc..f1e392ebbb9d60efdfed91d02fa5e77a187f7cfe 100644 (file)
 
 /*
  * Even though the VMS C RTL claims to be C99 compatible, it's not entirely
- * so far (C RTL version 8.4).  For the sake of these tests, we therefore
- * define our own.
+ * so far (C RTL version 8.4). Same applies to OSF. For the sake of these
+ * tests, we therefore define our own.
  */
-#if defined(__VMS) && __CRTL_VER <= 80400000
+#if (defined(__VMS) && __CRTL_VER <= 80400000) || defined(__osf__)
 static int isblank(int c)
 {
     return c == ' ' || c == '\t';
@@ -35,7 +35,9 @@ static int test_ctype_chars(int n)
 
     return TEST_int_eq(isalpha(n) != 0, ossl_isalpha(n) != 0)
            && TEST_int_eq(isalnum(n) != 0, ossl_isalnum(n) != 0)
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
            && TEST_int_eq(isblank(n) != 0, ossl_isblank(n) != 0)
+#endif
            && TEST_int_eq(iscntrl(n) != 0, ossl_iscntrl(n) != 0)
            && TEST_int_eq(isdigit(n) != 0, ossl_isdigit(n) != 0)
            && TEST_int_eq(isgraph(n) != 0, ossl_isgraph(n) != 0)