X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ficu_utf16.c;h=894c97dafeefa32ecc4731866f4dba97fba54966;hp=5bb74ec247f1fc834938cddb672c6c36fbeda820;hb=11af92513c72d3eb1e618e658b9418a42f4a630f;hpb=5a2b1f41cd0b3e0f5441a4cfb3b9484a1c4b017d diff --git a/src/icu_utf16.c b/src/icu_utf16.c index 5bb74ec..894c97d 100644 --- a/src/icu_utf16.c +++ b/src/icu_utf16.c @@ -32,36 +32,31 @@ struct icu_buf_utf16 *icu_buf_utf16_create(size_t capacity) 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) { - 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) { - if (!buf16) - return 0; - + assert(buf16); if (capacity > 0) { if (0 == buf16->utf16) @@ -69,14 +64,8 @@ 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; }