static void ParamInfoWc16Str(void *value) { char *v = NULL; CHECK_PARAM_INFO_PTR(value); v = awc16stombs((wchar16_t*)value); if (!v) goto done; printf("(wchar16_t*)\"%s\"\n", v); done: free(v); }
static void CheckCharToWchar16(const char *input) { size_t inputlen = mbstrlen(input); if(input[0] != '\0') MU_ASSERT(inputlen != 0); wchar16_t *allocated = malloc((inputlen + 1) * sizeof(wchar16_t)); MU_ASSERT(allocated != NULL); size_t converted = mbstowc16s(allocated, input, inputlen + 1); MU_ASSERT(converted == inputlen); MU_ASSERT(wc16slen(allocated) == inputlen); free(allocated); allocated = ambstowc16s(input); MU_ASSERT(allocated != NULL); MU_ASSERT(wc16slen(allocated) == inputlen); char *convertedback = awc16stombs(allocated); MU_ASSERT(convertedback != NULL); MU_ASSERT(!strcmp(input, convertedback)); free(convertedback); free(allocated); }