From ee699ef91ba36719e50ce9dc5d54dd3896740917 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Thu, 14 May 2009 16:16:32 +0000 Subject: UCS2 support doesn't handle upper half of BMP Make krb5_ucs2 an unsigned type. Eliminate the need for distinguished values for ucs2 and ucs4 characters by changing the API of the single- character conversion routines. ticket: 6489 tags: pullup target_version: 1.7 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22350 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/unicode/ucstr.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/lib') diff --git a/src/lib/krb5/unicode/ucstr.c b/src/lib/krb5/unicode/ucstr.c index e3c3c800e..ec2368820 100644 --- a/src/lib/krb5/unicode/ucstr.c +++ b/src/lib/krb5/unicode/ucstr.c @@ -397,8 +397,7 @@ krb5int_utf8_normcmp( /* convert and normalize 1st string */ for (i = 0, ulen = 0; i < l1; i += len, ulen++) { - ucs[ulen] = krb5int_utf8_to_ucs4(s1 + i); - if (ucs[ulen] == KRB5_UCS4_INVALID) { + if (krb5int_utf8_to_ucs4(s1 + i, &ucs[ulen]) == -1) { free(ucs); return -1; /* what to do??? */ } @@ -420,8 +419,7 @@ krb5int_utf8_normcmp( /* convert and normalize 2nd string */ for (i = 0, ulen = 0; i < l2; i += len, ulen++) { - ucs[ulen] = krb5int_utf8_to_ucs4(s2 + i); - if (ucs[ulen] == KRB5_UCS4_INVALID) { + if (krb5int_utf8_to_ucs4(s2 + i, &ucs[ulen]) == -1) { free(ucsout1); free(ucs); return 1; /* what to do??? */ -- cgit