ui/winui/util.cpp

Thu, 12 Oct 2023 13:51:44 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 12 Oct 2023 13:51:44 +0200
branch
newapi
changeset 210
83556205edad
parent 205
b1ac0dd1d38b
child 224
88bc21b19213
permissions
-rw-r--r--

change table colors (WinUI3)

#include "pch.h"

#include "util.h"

#include <stdlib.h>


wchar_t* str2wstr(const char* str, int* newlen) {
    size_t len = strlen(str);


    wchar_t* wstr = (wchar_t*)calloc(len + 1, sizeof(wchar_t));
    int wlen = MultiByteToWideChar(
        CP_UTF8,
        0,
        str,
        len,
        wstr,
        len + 1
    );
    if (newlen) {
        *newlen = wlen;
    }
    wstr[wlen] = 0;

    return wstr;
}

char* wchar2utf8(const wchar_t* wstr, size_t wlen) {
    size_t maxlen = wlen * 4;
    char* ret = (char*)malloc(maxlen + 1);
    int ret_len = WideCharToMultiByte(
        CP_UTF8,
        0,
        wstr,
        wlen,
        ret,
        maxlen,
        NULL,
        NULL);
    ret[ret_len] = 0;
    return ret;
}

mercurial