For stroimax need C99 inttypes.h
authorViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 13 Jan 2016 16:16:08 +0000 (11:16 -0500)
committerViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 13 Jan 2016 17:37:34 +0000 (12:37 -0500)
Reviewed-by: Rich Salz <rsalz@openssl.org>
apps/apps.h
apps/opt.c
include/openssl/e_os2.h
include/openssl/ossl_typ.h

index 3ab453b..e242414 100644 (file)
@@ -385,7 +385,7 @@ 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(INTMAX_MAX) && defined(UINTMAX_MAX)
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 int opt_imax(const char *arg, intmax_t *result);
 int opt_umax(const char *arg, uintmax_t *result);
 #endif
index b814d98..516b3de 100644 (file)
@@ -75,7 +75,7 @@ static const OPTIONS *unknown;
 static const OPTIONS *opts;
 static char prog[40];
 
-#if !defined(INTMAX_MAX) || !defined(UINTMAX_MAX)
+#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L
 #define opt_imax opt_long
 #define opt_umax opt_ulong
 #endif
@@ -397,7 +397,7 @@ int opt_long(const char *value, long *result)
     return 1;
 }
 
-#if defined(INTMAX_MAX) && defined(UINTMAX_MAX)
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 
 /* Parse an intmax_t, put it into *result; return 0 on failure, else 1. */
 int opt_imax(const char *value, intmax_t *result)
index 3e7f16c..fb022b1 100644 (file)
  *
  */
 
-#include <openssl/opensslconf.h>
-
 #ifndef HEADER_E_OS2_H
 # define HEADER_E_OS2_H
 
+# include <openssl/opensslconf.h>
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
@@ -285,7 +285,9 @@ extern "C" {
 # endif
 
 /* Standard integer types */
-# if defined(__osf__) || defined(__sgi) || defined(__hpux) || defined(OPENSSL_SYS_VMS)
+# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L || \
+     defined(__osf__) || defined(__sgi) || defined(__hpux) || \
+     defined(OPENSSL_SYS_VMS)
 #  include <inttypes.h>
 # elif defined(OPENSSL_SYS_UEFI)
 typedef INT8 int8_t;
@@ -314,21 +316,11 @@ typedef unsigned __int64 uint64_t;
 # endif
 
 /*
- * We need a format operator for some client tools for uint64_t.
- * This is an attempt at doing so in a portable manner.
- * If we can't use a built-in definition, we'll revert to the previous
- * behavior that was hard-coded but now causing compiler warnings on
- * some systems (e.g. Mac OS X).
+ * We need a format operator for some client tools for uint64_t.  If inttypes.h
+ * isn't available or did not define it, just go with hard-coded.
  */
 # ifndef PRIu64
-#  ifdef __STDC_VERSION__
-#   if (__STDC_VERSION__ >= 199901L)
-#    include <inttypes.h>
-#   endif
-#  endif
-#  ifndef PRIu64
-#   define PRIu64 "lu"
-#  endif
+#  define PRIu64 "lu"
 # endif
 
 /* ossl_inline: portable inline definition usable in public headers */
index f754136..059d386 100644 (file)
@@ -201,7 +201,7 @@ 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(INTMAX_MAX) && defined(UINTMAX_MAX)
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 typedef intmax_t ossl_intmax_t;
 typedef uintmax_t ossl_uintmax_t;
 #else