X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ficu_utf16.c;h=962e90c7dd4856324fb34becd3a0391b93e50ca2;hp=466f7af80ec73d5871d46f5cc39a99b6275361a3;hb=cf91f233d0e16ed6920d84ce2d871eed90d3491b;hpb=8e4840a9a7b6117d92d9d97fdb4048a7f8b9ce09 diff --git a/src/icu_utf16.c b/src/icu_utf16.c index 466f7af..962e90c 100644 --- a/src/icu_utf16.c +++ b/src/icu_utf16.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2013 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ @@ -27,41 +27,36 @@ #include /* some more string fcns*/ #include /* char names */ -struct icu_buf_utf16 * icu_buf_utf16_create(size_t capacity) +struct icu_buf_utf16 *icu_buf_utf16_create(size_t capacity) { - struct icu_buf_utf16 * buf16 + struct icu_buf_utf16 *buf16 = (struct icu_buf_utf16 *) xmalloc(sizeof(struct icu_buf_utf16)); - buf16->utf16 = 0; buf16->utf16_len = 0; - buf16->utf16_cap = 0; - + buf16->utf16_cap = capacity; if (capacity > 0) { buf16->utf16 = (UChar *) xmalloc(sizeof(UChar) * capacity); buf16->utf16[0] = (UChar) 0; - buf16->utf16_cap = capacity; } + else + buf16->utf16 = 0; return buf16; } -struct icu_buf_utf16 * icu_buf_utf16_clear(struct icu_buf_utf16 * buf16) +struct icu_buf_utf16 *icu_buf_utf16_clear(struct icu_buf_utf16 *buf16) { - if (buf16) - { - if (buf16->utf16) - buf16->utf16[0] = (UChar) 0; - buf16->utf16_len = 0; - } + assert(buf16); + if (buf16->utf16) + buf16->utf16[0] = (UChar) 0; + buf16->utf16_len = 0; return buf16; } -struct icu_buf_utf16 * icu_buf_utf16_resize(struct icu_buf_utf16 * buf16, - size_t capacity) +struct icu_buf_utf16 *icu_buf_utf16_resize(struct icu_buf_utf16 *buf16, + size_t capacity) { - if (!buf16) - return 0; - + assert(buf16); if (capacity > 0) { if (0 == buf16->utf16) @@ -69,20 +64,14 @@ struct icu_buf_utf16 * icu_buf_utf16_resize(struct icu_buf_utf16 * buf16, else buf16->utf16 = (UChar *) xrealloc(buf16->utf16, sizeof(UChar) * capacity); + buf16->utf16_cap = capacity; } - else - { - xfree(buf16->utf16); - buf16->utf16 = 0; - buf16->utf16_len = 0; - } - buf16->utf16_cap = capacity; return buf16; } -struct icu_buf_utf16 * icu_buf_utf16_copy(struct icu_buf_utf16 * dest16, - const struct icu_buf_utf16 * src16) +struct icu_buf_utf16 *icu_buf_utf16_copy(struct icu_buf_utf16 *dest16, + const struct icu_buf_utf16 *src16) { if (!dest16 || !src16 || dest16 == src16) return 0; @@ -98,7 +87,7 @@ struct icu_buf_utf16 * icu_buf_utf16_copy(struct icu_buf_utf16 * dest16, struct icu_buf_utf16 *icu_buf_utf16_append(struct icu_buf_utf16 *dest16, - const struct icu_buf_utf16 * src16) + const struct icu_buf_utf16 *src16) { assert(dest16); if (!src16) @@ -117,7 +106,7 @@ struct icu_buf_utf16 *icu_buf_utf16_append(struct icu_buf_utf16 *dest16, } -void icu_buf_utf16_destroy(struct icu_buf_utf16 * buf16) +void icu_buf_utf16_destroy(struct icu_buf_utf16 *buf16) { if (buf16) xfree(buf16->utf16);