From b3722b5b4546e338d1d3dd9f359b1a15742b8508 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Fri, 11 Dec 2015 14:48:41 -0500 Subject: [PATCH] Make krb5_ucs2 and krb5_ucs4 unsigned krb5 contains some Unicode code adapted from OpenLDAP. OpenLDAP uses unsigned types for UCS-2 and UCS-4 code points, but the adapted code uses signed types, which creates pointer-sign warnings when we call uccompatdecomp() and similar functions. To match the OpenLDAP code, use unsigned types. --- src/include/k5-utf8.h | 35 ++++------------------------------- 1 file changed, 4 insertions(+), 31 deletions(-) diff --git a/src/include/k5-utf8.h b/src/include/k5-utf8.h index a4b6375ebb..22f433c8e9 100644 --- a/src/include/k5-utf8.h +++ b/src/include/k5-utf8.h @@ -68,37 +68,10 @@ #ifndef K5_UTF8_H #define K5_UTF8_H -#include "autoconf.h" - -#ifdef HAVE_SYS_TYPES_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#ifdef HAVE_STDLIB_H -#include -#endif - -#if INT_MAX == 0x7fff -typedef unsigned int krb5_ucs2; -#elif SHRT_MAX == 0x7fff -typedef unsigned short krb5_ucs2; -#else -#error undefined 16 bit type -#endif - -#if INT_MAX == 0x7fffffffL -typedef int krb5_ucs4; -#elif LONG_MAX == 0x7fffffffL -typedef long krb5_ucs4; -#elif SHRT_MAX == 0x7fffffffL -typedef short krb5_ucs4; -#else -#error: undefined 32 bit type -#endif +#include "k5-platform.h" + +typedef uint16_t krb5_ucs2; +typedef uint32_t krb5_ucs4; #define KRB5_MAX_UTF8_LEN (sizeof(krb5_ucs2) * 3/2) -- 2.47.2