LINUX.ORG.RU

Slang и utf8


0

1

что-то не получается заюзать:

#include <slang.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <termios.h>

int main()
{
    struct winsize ws;
    if (ioctl(1, TIOCGWINSZ, &ws))
    {
        perror("failed to get window size");
        return 1;
    }

    SLtt_get_terminfo();
    SLtt_Screen_Rows = ws.ws_row;
    SLtt_Screen_Cols = ws.ws_col;
    SLsmg_init_smg();
    SLang_init_tty(-1, 0, 1);

    SLutf8_enable(1);


    uint8_t d[5] = { 0xE2, 0x94, 0x8C, 0x00 };

    uint8_t *s = d;
    SLsmg_write_char(*s++);
    SLsmg_write_char(*s++);
    SLsmg_write_char(*s++);

    char *p = "QWERTY";
    SLsmg_write_nstring(p, 6);

    SLsmg_printf ("%s", d);

    SLsmg_refresh();
    SLang_getkey();

    SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
    SLsmg_refresh();
    SLsmg_reset_smg();
    SLang_reset_tty();


    printf("%s", d);


    return 0;
}

gcc test.c -o test -lslang

Локаль ru_RU.UTF-8

Как видно printf в конце выводит верно, а SLang не хочет. Что я делаю не так?

★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.