Changeset View
Changeset View
Standalone View
Standalone View
contrib/libedit/terminal.c
Show First 20 Lines • Show All 1,218 Lines • ▼ Show 20 Lines | |||||
/* terminal__putc(): | /* terminal__putc(): | ||||
* Add a character | * Add a character | ||||
*/ | */ | ||||
libedit_private int | libedit_private int | ||||
terminal__putc(EditLine *el, wint_t c) | terminal__putc(EditLine *el, wint_t c) | ||||
{ | { | ||||
char buf[MB_LEN_MAX +1]; | char buf[MB_LEN_MAX +1]; | ||||
ssize_t i; | ssize_t i; | ||||
if (c == (wint_t)MB_FILL_CHAR) | if (c == MB_FILL_CHAR) | ||||
return 0; | return 0; | ||||
if (c & EL_LITERAL) | if (c & EL_LITERAL) | ||||
return fputs(literal_get(el, c), el->el_outfile); | return fputs(literal_get(el, c), el->el_outfile); | ||||
i = ct_encode_char(buf, (size_t)MB_LEN_MAX, c); | i = ct_encode_char(buf, (size_t)MB_LEN_MAX, c); | ||||
if (i <= 0) | if (i <= 0) | ||||
return (int)i; | return (int)i; | ||||
buf[i] = '\0'; | buf[i] = '\0'; | ||||
return fputs(buf, el->el_outfile); | return fputs(buf, el->el_outfile); | ||||
▲ Show 20 Lines • Show All 421 Lines • Show Last 20 Lines |