Defines OSSL_SSIZE_MAX
authorRob Percival <robpercival@google.com>
Fri, 12 Feb 2016 15:12:37 +0000 (15:12 +0000)
committerBen Laurie <ben@links.org>
Sat, 13 Feb 2016 10:22:54 +0000 (10:22 +0000)
Removes SSIZE_MAX definition from bss_bio.c and changes that file to use
OSSL_SSIZE_MAX.

No need to account for OPENSSL_SYS_VXWORKS, since that never actually
gets defined anywhere. It must be a historical artifact.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Ben Laurie <ben@openssl.org>
crypto/bio/bss_bio.c
include/openssl/e_os2.h

index 743a158..4caa233 100644 (file)
 
 #include "e_os.h"
 
-/* VxWorks defines SSIZE_MAX with an empty value causing compile errors */
-#if defined(OPENSSL_SYS_VXWORKS)
-# undef SSIZE_MAX
-#endif
-#ifndef SSIZE_MAX
-# define SSIZE_MAX INT_MAX
-#endif
-
 static int bio_new(BIO *bio);
 static int bio_free(BIO *bio);
 static int bio_read(BIO *bio, char *buf, int size);
@@ -294,8 +286,8 @@ static ossl_ssize_t bio_nread(BIO *bio, char **buf, size_t num_)
     struct bio_bio_st *b, *peer_b;
     ossl_ssize_t num, available;
 
-    if (num_ > SSIZE_MAX)
-        num = SSIZE_MAX;
+    if (num_ > OSSL_SSIZE_MAX)
+        num = OSSL_SSIZE_MAX;
     else
         num = (ossl_ssize_t) num_;
 
@@ -450,8 +442,8 @@ static ossl_ssize_t bio_nwrite(BIO *bio, char **buf, size_t num_)
     struct bio_bio_st *b;
     ossl_ssize_t num, space;
 
-    if (num_ > SSIZE_MAX)
-        num = SSIZE_MAX;
+    if (num_ > OSSL_SSIZE_MAX)
+        num = OSSL_SSIZE_MAX;
     else
         num = (ossl_ssize_t) num_;
 
index 519b8ce..1a1fe3e 100644 (file)
@@ -262,17 +262,21 @@ extern "C" {
 # ifdef _WIN32
 #  ifdef _WIN64
 #   define ossl_ssize_t __int64
+#   define OSSL_SSIZE_MAX _I64_MAX
 #  else
 #   define ossl_ssize_t int
+#   define OSSL_SSIZE_MAX INT_MAX
 #  endif
 # endif
 
 # if defined(__ultrix) && !defined(ssize_t)
 #  define ossl_ssize_t int
+#  define OSSL_SSIZE_MAX INT_MAX
 # endif
 
 # ifndef ossl_ssize_t
 #  define ossl_ssize_t ssize_t
+#  define OSSL_SSIZE_MAX SSIZE_MAX
 # endif
 
 # ifdef DEBUG_UNUSED