diff options
author | Greg Hudson <ghudson@mit.edu> | 2009-05-14 16:16:32 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2009-05-14 16:16:32 +0000 |
commit | ee699ef91ba36719e50ce9dc5d54dd3896740917 (patch) | |
tree | 07979e330dc4412208e29eef89a02e6d7f515306 /src/lib/krb5/unicode | |
parent | d8c1fcc9fc7690629d10536750e6a4f873c2cbc1 (diff) | |
download | krb5-ee699ef91ba36719e50ce9dc5d54dd3896740917.tar.gz krb5-ee699ef91ba36719e50ce9dc5d54dd3896740917.tar.xz krb5-ee699ef91ba36719e50ce9dc5d54dd3896740917.zip |
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
Diffstat (limited to 'src/lib/krb5/unicode')
-rw-r--r-- | src/lib/krb5/unicode/ucstr.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/lib/krb5/unicode/ucstr.c b/src/lib/krb5/unicode/ucstr.c index e3c3c800e1..ec23688201 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??? */ |