]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Make krb5_ucs2 and krb5_ucs4 unsigned 367/head
authorGreg Hudson <ghudson@mit.edu>
Fri, 11 Dec 2015 19:48:41 +0000 (14:48 -0500)
committerGreg Hudson <ghudson@mit.edu>
Fri, 11 Dec 2015 22:47:59 +0000 (17:47 -0500)
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

index a4b6375ebb645cdaa1e47e108da45808bc6aaf0e..22f433c8e9813c6e2c57045924a1ac1f1148c8d9 100644 (file)
 #ifndef K5_UTF8_H
 #define K5_UTF8_H
 
-#include "autoconf.h"
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#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)