struct icu_buf_utf16 *dest16,
const struct icu_buf_utf16 *src16,
UErrorCode *status);
+void icu_transform_trans2(struct icu_transform *transform,
+ struct icu_buf_utf16 *dest16,
+ UErrorCode *status);
struct icu_chain_step;
case ICU_chain_step_type_transliterate:
if (dst)
{
+#if 1
+ icu_transform_trans2(step->u.transform, dst, &iter->status);
+#else
struct icu_buf_utf16 *src = dst;
dst = icu_buf_utf16_create(0);
icu_transform_trans(step->u.transform, dst, src, &iter->status);
icu_buf_utf16_destroy(src);
+#endif
}
break;
case ICU_chain_step_type_display:
}
}
+void icu_transform_trans2(struct icu_transform *transform,
+ struct icu_buf_utf16 *dest16,
+ UErrorCode *status)
+{
+ assert(transform);
+ assert(dest16);
+
+ if (!dest16->utf16)
+ return;
+
+ utrans_transUChars(transform->trans,
+ dest16->utf16, &(dest16->utf16_len),
+ dest16->utf16_cap,
+ 0, &(dest16->utf16_len), status);
+}
+
int icu_transform_trans(struct icu_transform *transform,
struct icu_buf_utf16 *dest16,
const struct icu_buf_utf16 *src16,