char *rcc_reencode (char *str) { char *result = str; assert (str != NULL); #ifdef HAVE_RCC rcc_string rccstring; rccstring = rccFrom (NULL, 0, str); if (rccstring) { if (*rccstring) { char *reencoded; reencoded = rccToCharset (NULL, "UTF-8", rccstring); if (reencoded) { free (result); result = reencoded; } } free (rccstring); } #endif /* HAVE_RCC */ return result; }
static char *do_rcc (char *str) { rcc_string rccstring; char *reencoded; assert (str != NULL); rccstring = rccFrom(NULL, 0, str); if (rccstring) { if (*rccstring && (reencoded = rccToCharset(NULL, "UTF-8", rccstring))) { free(str); free(rccstring); return reencoded; } free (rccstring); } return str; }