X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ficu_casemap.c;h=a636f924689b782109ff6ceafa5aa4d634b8d718;hp=2e3b9c328053ccbaf50bb937a5f88770469ffa05;hb=05193e78a2553c93a61da19a39e1276b1a509bac;hpb=689388c889a644a40ca1f447cc862da009049836 diff --git a/src/icu_casemap.c b/src/icu_casemap.c index 2e3b9c3..a636f92 100644 --- a/src/icu_casemap.c +++ b/src/icu_casemap.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ @@ -30,22 +30,22 @@ struct icu_casemap char action; }; -struct icu_casemap * icu_casemap_create(char action, UErrorCode *status) -{ - struct icu_casemap * casemap +struct icu_casemap *icu_casemap_create(char action, UErrorCode *status) +{ + struct icu_casemap *casemap = (struct icu_casemap *) xmalloc(sizeof(struct icu_casemap)); casemap->action = action; switch (casemap->action) { - case 'l': - case 'L': - case 'u': - case 'U': - case 't': - case 'T': - case 'f': - case 'F': + case 'l': + case 'L': + case 'u': + case 'U': + case 't': + case 'T': + case 'f': + case 'F': break; default: icu_casemap_destroy(casemap); @@ -67,46 +67,46 @@ void icu_casemap_destroy(struct icu_casemap * casemap) xfree(casemap); } -int icu_casemap_casemap(struct icu_casemap * casemap, - struct icu_buf_utf16 * dest16, - struct icu_buf_utf16 * src16, +int icu_casemap_casemap(struct icu_casemap *casemap, + struct icu_buf_utf16 *dest16, + struct icu_buf_utf16 *src16, UErrorCode *status, const char *locale) { if (!casemap) return 0; - + return icu_utf16_casemap(dest16, src16, locale, casemap->action, status); } -static uint32_t icu_utf16_sub(struct icu_buf_utf16 * dest16, - struct icu_buf_utf16 * src16, +static uint32_t icu_utf16_sub(struct icu_buf_utf16 *dest16, + struct icu_buf_utf16 *src16, const char *locale, char action, UErrorCode *status) { switch (action) { - case 'l': - case 'L': + case 'l': + case 'L': return u_strToLower(dest16->utf16, dest16->utf16_cap, - src16->utf16, src16->utf16_len, + src16->utf16, src16->utf16_len, locale, status); - case 'u': - case 'U': + case 'u': + case 'U': return u_strToUpper(dest16->utf16, dest16->utf16_cap, - src16->utf16, src16->utf16_len, + src16->utf16, src16->utf16_len, locale, status); break; - case 't': - case 'T': + case 't': + case 'T': return u_strToTitle(dest16->utf16, dest16->utf16_cap, src16->utf16, src16->utf16_len, 0, locale, status); break; - case 'f': - case 'F': + case 'f': + case 'F': return u_strFoldCase(dest16->utf16, dest16->utf16_cap, src16->utf16, src16->utf16_len, U_FOLD_CASE_DEFAULT, status); @@ -119,8 +119,8 @@ static uint32_t icu_utf16_sub(struct icu_buf_utf16 * dest16, } -int icu_utf16_casemap(struct icu_buf_utf16 * dest16, - struct icu_buf_utf16 * src16, +int icu_utf16_casemap(struct icu_buf_utf16 *dest16, + struct icu_buf_utf16 *src16, const char *locale, char action, UErrorCode *status) { @@ -133,7 +133,7 @@ int icu_utf16_casemap(struct icu_buf_utf16 * dest16, dest16->utf16_len = 0; return U_ZERO_ERROR; } - + dest16_len = icu_utf16_sub(dest16, src16, locale, action, status); /* check for buffer overflow, resize and retry */ @@ -154,7 +154,7 @@ int icu_utf16_casemap(struct icu_buf_utf16 * dest16, dest16->utf16[0] = (UChar) 0; dest16->utf16_len = 0; } - + return *status; }