e_os2.h: Refine OSSL_SSIZE definition under UEFI environment
authorQin Long <qin.long@intel.com>
Tue, 4 Apr 2017 17:08:16 +0000 (01:08 +0800)
committerAndy Polyakov <appro@openssl.org>
Thu, 6 Apr 2017 14:22:29 +0000 (16:22 +0200)
Under UEFI build environment, we may encounter the OSSL_SSIZE macro
re-definition error in e_os2.h if any module call OpenSSL API directly
by including "openssl/xxxx.h" (caused by the predefined _WIN32/_WIN64
macro, which should have been un-defined under OPENSSL_SYS_UEFI).

Though it's not one recommended usage, this patch could still eliminate
the possible build issue by refining the OSSL_SSIZE definition under
OPENSSL_SYS_UEFI.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3121)

(cherry picked from commit 005f6766284155645fa760cf764f85031e209f6c)

include/openssl/e_os2.h

index 1f3ecb65a01a3d7c84b1e64c7aa84fba9bac8292..4aec51f52be72a6971a4a0aaf73a8d310a64531a 100644 (file)
@@ -212,9 +212,9 @@ extern "C" {
 #  endif
 # endif
 
-# if defined(OPENSSL_SYS_UEFI) && !defined(ssize_t)
-#  define ossl_ssize_t int
-#  define OSSL_SSIZE_MAX INT_MAX
+# if defined(OPENSSL_SYS_UEFI) && !defined(ossl_ssize_t)
+#  define ossl_ssize_t INTN
+#  define OSSL_SSIZE_MAX MAX_INTN
 # endif
 
 # ifndef ossl_ssize_t