You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
418 B
21 lines
418 B
void |
|
iso14755(const Arg *arg) |
|
{ |
|
FILE *p; |
|
char *us, *e, codepoint[9], uc[UTF_SIZ]; |
|
unsigned long utf32; |
|
|
|
if (!(p = popen(ISO14755CMD, "r"))) |
|
return; |
|
|
|
us = fgets(codepoint, sizeof(codepoint), p); |
|
pclose(p); |
|
|
|
if (!us || *us == '\0' || *us == '-' || strlen(us) > 7) |
|
return; |
|
if ((utf32 = strtoul(us, &e, 16)) == ULONG_MAX || |
|
(*e != '\n' && *e != '\0')) |
|
return; |
|
|
|
ttywrite(uc, utf8encode(utf32, uc), 1); |
|
} |