X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ficu_chain.c;h=edb8d981c1e75f2d802f175d84fe3ebaed1a01a6;hp=7bf81095bd92de9d5fe682d7005d1ef4bcc1909a;hb=3f320e9bc56210d730081b2d82f2658636afa5ca;hpb=689388c889a644a40ca1f447cc862da009049836 diff --git a/src/icu_chain.c b/src/icu_chain.c index 7bf8109..edb8d98 100644 --- a/src/icu_chain.c +++ b/src/icu_chain.c @@ -192,21 +192,17 @@ struct icu_chain_step *icu_chain_step_clone(struct icu_chain_step *old) struct icu_chain *icu_chain_create(const char *locale, int sort, UErrorCode *status) { - struct icu_chain *chain - = (struct icu_chain *) xmalloc(sizeof(*chain)); + struct icu_chain *chain; + UCollator *coll = ucol_open(locale, status); - *status = U_ZERO_ERROR; + if (U_FAILURE(*status)) + return 0; + chain = (struct icu_chain *) xmalloc(sizeof(*chain)); chain->iter = 0; chain->locale = xstrdup(locale); - chain->sort = sort; - - chain->coll = ucol_open(chain->locale, status); - - if (U_FAILURE(*status)) - return 0; - + chain->coll = coll; chain->csteps = 0; return chain;