Changeset View
Changeset View
Standalone View
Standalone View
head/contrib/libxo/libxo/libxo.c
Show First 20 Lines • Show All 2,071 Lines • ▼ Show 20 Lines | return -1; | ||||
cp += ilen; | cp += ilen; | ||||
break; | break; | ||||
case XF_ENC_LOCALE: /* Native locale */ | case XF_ENC_LOCALE: /* Native locale */ | ||||
ilen = (len > 0) ? len : MB_LEN_MAX; | ilen = (len > 0) ? len : MB_LEN_MAX; | ||||
ilen = mbrtowc(&wc, cp, ilen, &xop->xo_mbstate); | ilen = mbrtowc(&wc, cp, ilen, &xop->xo_mbstate); | ||||
if (ilen < 0) { /* Invalid data; skip */ | if (ilen < 0) { /* Invalid data; skip */ | ||||
xo_failure(xop, "invalid mbs char: %02hhx", *cp); | xo_failure(xop, "invalid mbs char: %02hhx", *cp); | ||||
continue; | wc = L'?'; | ||||
ilen = 1; | |||||
} | } | ||||
if (ilen == 0) { /* Hit a wide NUL character */ | if (ilen == 0) { /* Hit a wide NUL character */ | ||||
len = 0; | len = 0; | ||||
continue; | continue; | ||||
} | } | ||||
cp += ilen; | cp += ilen; | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 3,659 Lines • Show Last 20 Lines |