Пример #1
0
/*
 * 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);
}
Пример #2
0
int main(int argc, char **argv) {
    grpc_test_init(argc, argv);
    test_encoding();
    test_decoding();
    test_decoding_fails();
    return 0;
}