/* * test unicode paramter encoding */ int test_uniencoding(wchar_t *src, char *expected) { size_t n; char *dst; // check unicode: http://www.thescripts.com/forum/thread223350.html const char *encoding = "en_US.UTF-8"; // or try en_US.ISO-8859-1 etc. //wchar_t src[] = {0x0080, 0}; if(setlocale(LC_CTYPE, encoding) == NULL) { printf("requested encoding unavailable\n"); return -1; } n = wcstombs(NULL, src, 0); dst = malloc(n + 1); if(dst == NULL) { printf("memory allocation failed\n"); return -2; } if(wcstombs(dst, src, n + 1) != n) { printf("conversion failed\n"); free(dst); return -3; } return test_encoding(dst, expected); }
int main(int argc, char **argv) { grpc_test_init(argc, argv); test_encoding(); test_decoding(); test_decoding_fails(); return 0; }