-- Ensures 1-to-1 mb to wide character mapping by doing a reverse conversion and comparing the results
| 1200 | //-- Ensures 1-to-1 mb to wide character mapping by doing a reverse conversion |
| 1201 | // and comparing the results |
| 1202 | int tss_wctomb(mbchar_t* pch, wchar_t wch) |
| 1203 | { |
| 1204 | // convert forward |
| 1205 | int nWide = ::wctomb(pch, wch); |
| 1206 | if (nWide == -1) |
| 1207 | return -1; |
| 1208 | |
| 1209 | // convert backwards |
| 1210 | wchar_t wchTest; |
| 1211 | int nNarrow = ::mbtowc(&wchTest, pch, MB_CUR_MAX); |
| 1212 | if (nNarrow == -1) |
| 1213 | return -1; |
| 1214 | |
| 1215 | // compare... |
| 1216 | if (wchTest != wch) |
| 1217 | return -1; |
| 1218 | |
| 1219 | // success! |
| 1220 | return nWide; |
| 1221 | } |
| 1222 | |
| 1223 | int tss_wcstombs(ntmbs_t pbz, const_ntwcs_t pwz, size_t nCount) |
| 1224 | { |