/********************************************************************
* COPYRIGHT:
- * Copyright (c) 1997-2011, International Business Machines Corporation and
+ * Copyright (c) 1997-2013, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
/********************************************************************************
continue;
}
}
+ status = U_ZERO_ERROR; // clear status from previous loop iteration
uprv_memset(&src, 0, sizeof(UColTokenParser));
coll = ucol_open(loc, &status);
if (U_FAILURE(status)) {
- log_err("%s collator creation failed\n", loc);
+ log_err("%s collator creation failed with status %s\n", loc, u_errorName(status));
return;
}
/* Note that as a result of tickets 7015 or 6912, ucol_tok_parseNextToken can cause the pointer to
the rules copy in src.source to get reallocated, freeing the original pointer in rulesCopy */
- while ((current = ucol_tok_parseNextToken(&src, startOfRules, &parseError,&status)) != NULL) {
+ while ((current = ucol_tok_parseNextToken(&src, startOfRules, &parseError,&status)) != NULL && U_SUCCESS(status)) {
strength = src.parsedToken.strength;
chOffset = src.parsedToken.charsOffset;
chLen = src.parsedToken.charsLen;
codepoints[chLen] = 0;
checkCEValidity(coll, codepoints, chLen);
}
+ if (U_FAILURE(status)) {
+ log_err("%s collator, ucol_tok_parseNextToken failed with status %s\n", loc, u_errorName(status));
+ }
uprv_free(src.source);
}
UColTokenParser src;
uint32_t strength = 0;
uint16_t specs = 0;
+ status = U_ZERO_ERROR; // clear status from previous loop iteration
uprv_memset(&src, 0, sizeof(UColTokenParser));
coll = ucol_open(locale[count], &status);
if (U_FAILURE(status)) {
- log_err("%s collator creation failed\n", locale[count]);
+ log_err("%s collator creation failed with status %s\n", locale[count], u_errorName(status));
return;
}
/* Note that as a result of tickets 7015 or 6912, ucol_tok_parseNextToken can cause the pointer to
the rules copy in src.source to get reallocated, freeing the original pointer in rulesCopy */
- while ((current = ucol_tok_parseNextToken(&src, startOfRules,&parseError, &status)) != NULL) {
+ while ((current = ucol_tok_parseNextToken(&src, startOfRules,&parseError, &status)) != NULL && U_SUCCESS(status)) {
strength = src.parsedToken.strength;
chOffset = src.parsedToken.charsOffset;
chLen = src.parsedToken.charsLen;
}
checkSortKeyValidity(coll, codepoints, chLen);
}
+ if (U_FAILURE(status)) {
+ log_err("%s collator, ucol_tok_parseNextToken failed with status %s\n", locale[count], u_errorName(status));
+ }
uprv_free(src.source);
}
continue;
}
if (uprv_strcmp("bn", locName)==0 ||
+ uprv_strcmp("bs", locName)==0 || /* Add due to import per cldrbug 5647 */
+ uprv_strcmp("bs_Cyrl", locName)==0 || /* Add due to import per cldrbug 5647 */
uprv_strcmp("en_US_POSIX", locName)==0 ||
+ uprv_strcmp("fa_AF", locName)==0 || /* Add due to import per cldrbug 5647 */
uprv_strcmp("he", locName)==0 || /* Add due to new tailoring of \u05F3 vs \u0027 per cldrbug 5576 */
uprv_strcmp("he_IL", locName)==0 || /* Add due to new tailoring of \u05F3 vs \u0027 per cldrbug 5576 */
uprv_strcmp("km", locName)==0 ||
uprv_strcmp("my", locName)==0 ||
uprv_strcmp("si", locName)==0 ||
uprv_strcmp("si_LK", locName)==0 ||
+ uprv_strcmp("sr_Latn", locName)==0 || /* Add due to import per cldrbug 5647 */
uprv_strcmp("th", locName)==0 ||
uprv_strcmp("th_TH", locName)==0 ||
uprv_strcmp("zh", locName)==0 ||