For stro[ui]max require both C99 and UINTMAX_MAX/INTMAX_MAX
authorViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 13 Jan 2016 20:42:06 +0000 (15:42 -0500)
committerViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 13 Jan 2016 21:12:31 +0000 (16:12 -0500)
Reviewed-by: Richard Levitte <levitte@openssl.org>
apps/apps.h
apps/opt.c
include/openssl/ossl_typ.h

index e242414..e549e3f 100644 (file)
@@ -385,7 +385,8 @@ int opt_format(const char *s, unsigned long flags, int *result);
 int opt_int(const char *arg, int *result);
 int opt_ulong(const char *arg, unsigned long *result);
 int opt_long(const char *arg, long *result);
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \
+    defined(INTMAX_MAX) && defined(UINTMAX_MAX)
 int opt_imax(const char *arg, intmax_t *result);
 int opt_umax(const char *arg, uintmax_t *result);
 #endif
index 516b3de..17ac474 100644 (file)
@@ -75,7 +75,8 @@ static const OPTIONS *unknown;
 static const OPTIONS *opts;
 static char prog[40];
 
-#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L
+#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L || \
+    !defined(INTMAX_MAX) && !defined(UINTMAX_MAX)
 #define opt_imax opt_long
 #define opt_umax opt_ulong
 #endif
@@ -397,7 +398,8 @@ int opt_long(const char *value, long *result)
     return 1;
 }
 
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \
+    defined(INTMAX_MAX) && defined(UINTMAX_MAX)
 
 /* Parse an intmax_t, put it into *result; return 0 on failure, else 1. */
 int opt_imax(const char *value, intmax_t *result)
index 87b99f2..faa6319 100644 (file)
@@ -201,8 +201,8 @@ typedef struct ocsp_req_ctx_st OCSP_REQ_CTX;
 typedef struct ocsp_response_st OCSP_RESPONSE;
 typedef struct ocsp_responder_id_st OCSP_RESPID;
 
-#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
-    && !defined(OPENSSL_SYS_VMS)
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \
+    defined(INTMAX_MAX) && defined(UINTMAX_MAX)
 typedef intmax_t ossl_intmax_t;
 typedef uintmax_t ossl_uintmax_t;
 #else