Beispiel #1
0
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);
}