if (nf == NULL)
/* X -> toCasefold(X) */
return U_CASEMAP (s, n, prefix_context, suffix_context, iso639_language,
- uc_tocasefold, offsetof (struct special_casing_rule, casefold[0]),
- NULL,
- resultbuf, lengthp);
+ uc_tocasefold, offsetof (struct special_casing_rule, casefold[0]),
+ NULL,
+ resultbuf, lengthp);
else
{
uninorm_t nfd = uninorm_decomposing_form (nf);
/* X -> nf(toCasefold(NFD(X))) or
- X -> nf(toCasefold(nfd(toCasefold(NFD(X))))) */
+ X -> nf(toCasefold(nfd(toCasefold(NFD(X))))) */
int repeat = (uninorm_is_compat_decomposing (nf) ? 2 : 1);
UNIT tmpbuf1[2048 / sizeof (UNIT)];
UNIT tmpbuf2[2048 / sizeof (UNIT)];
tmp1_length = sizeof (tmpbuf1) / sizeof (UNIT);
tmp1 = U_NORMALIZE (UNINORM_NFD, s, n, tmpbuf1, &tmp1_length);
if (tmp1 == NULL)
- /* errno is set here. */
- return NULL;
+ /* errno is set here. */
+ return NULL;
do
- {
- tmp2_length = sizeof (tmpbuf2) / sizeof (UNIT);
- tmp2 = U_CASEMAP (tmp1, tmp1_length,
- prefix_context, suffix_context, iso639_language,
- uc_tocasefold, offsetof (struct special_casing_rule, casefold[0]),
- NULL,
- tmpbuf2, &tmp2_length);
- if (tmp2 == NULL)
- {
- int saved_errno = errno;
- if (tmp1 != tmpbuf1)
- free (tmp1);
- errno = saved_errno;
- return NULL;
- }
+ {
+ tmp2_length = sizeof (tmpbuf2) / sizeof (UNIT);
+ tmp2 = U_CASEMAP (tmp1, tmp1_length,
+ prefix_context, suffix_context, iso639_language,
+ uc_tocasefold, offsetof (struct special_casing_rule, casefold[0]),
+ NULL,
+ tmpbuf2, &tmp2_length);
+ if (tmp2 == NULL)
+ {
+ int saved_errno = errno;
+ if (tmp1 != tmpbuf1)
+ free (tmp1);
+ errno = saved_errno;
+ return NULL;
+ }
- if (tmp1 != tmpbuf1)
- free (tmp1);
+ if (tmp1 != tmpbuf1)
+ free (tmp1);
- if (repeat > 1)
- {
- tmp1_length = sizeof (tmpbuf1) / sizeof (UNIT);
- tmp1 = U_NORMALIZE (nfd, tmp2, tmp2_length,
- tmpbuf1, &tmp1_length);
- }
- else
- /* Last run through this loop. */
- tmp1 = U_NORMALIZE (nf, tmp2, tmp2_length,
- resultbuf, lengthp);
- if (tmp1 == NULL)
- {
- int saved_errno = errno;
- if (tmp2 != tmpbuf2)
- free (tmp2);
- errno = saved_errno;
- return NULL;
- }
+ if (repeat > 1)
+ {
+ tmp1_length = sizeof (tmpbuf1) / sizeof (UNIT);
+ tmp1 = U_NORMALIZE (nfd, tmp2, tmp2_length,
+ tmpbuf1, &tmp1_length);
+ }
+ else
+ /* Last run through this loop. */
+ tmp1 = U_NORMALIZE (nf, tmp2, tmp2_length,
+ resultbuf, lengthp);
+ if (tmp1 == NULL)
+ {
+ int saved_errno = errno;
+ if (tmp2 != tmpbuf2)
+ free (tmp2);
+ errno = saved_errno;
+ return NULL;
+ }
- if (tmp2 != tmpbuf2)
- free (tmp2);
- }
+ if (tmp2 != tmpbuf2)
+ free (tmp2);
+ }
while (--repeat > 0);
return tmp1;