Changeset 28a5ebd in mainline for uspace/lib/clui/tinput.c
- Timestamp:
- 2020-06-18T15:39:50Z (4 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ce52c333
- Parents:
- 4f663f3e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/clui/tinput.c
r4f663f3e r28a5ebd 113 113 static void tinput_display_tail(tinput_t *ti, size_t start, size_t pad) 114 114 { 115 wchar_t *dbuf = malloc((INPUT_MAX_SIZE + 1) * sizeof(wchar_t));115 char32_t *dbuf = malloc((INPUT_MAX_SIZE + 1) * sizeof(char32_t)); 116 116 if (!dbuf) 117 117 return; … … 126 126 size_t p = start; 127 127 if (p < sa) { 128 memcpy(dbuf, ti->buffer + p, (sa - p) * sizeof( wchar_t));128 memcpy(dbuf, ti->buffer + p, (sa - p) * sizeof(char32_t)); 129 129 dbuf[sa - p] = '\0'; 130 130 printf("%ls", dbuf); … … 137 137 138 138 memcpy(dbuf, ti->buffer + p, 139 (sb - p) * sizeof( wchar_t));139 (sb - p) * sizeof(char32_t)); 140 140 dbuf[sb - p] = '\0'; 141 141 printf("%ls", dbuf); … … 148 148 if (p < ti->nc) { 149 149 memcpy(dbuf, ti->buffer + p, 150 (ti->nc - p) * sizeof( wchar_t));150 (ti->nc - p) * sizeof(char32_t)); 151 151 dbuf[ti->nc - p] = '\0'; 152 152 printf("%ls", dbuf); … … 154 154 155 155 for (p = 0; p < pad; p++) 156 put wchar(' ');156 putuchar(' '); 157 157 158 158 console_flush(ti->console); … … 192 192 tinput_console_set_lpos(ti, ti->text_coord + ti->nc); 193 193 console_flush(ti->console); 194 put wchar('\n');194 putuchar('\n'); 195 195 } 196 196 … … 212 212 } 213 213 214 static void tinput_insert_char(tinput_t *ti, wchar_t c)214 static void tinput_insert_char(tinput_t *ti, char32_t c) 215 215 { 216 216 if (ti->nc == INPUT_MAX_SIZE) … … 263 263 size_t i = 0; 264 264 while (i < ilen) { 265 wchar_t c = str_decode(str, &off, STR_NO_LIMIT);265 char32_t c = str_decode(str, &off, STR_NO_LIMIT); 266 266 if (c == '\0') 267 267 break; … … 506 506 507 507 memmove(ti->buffer + sa, ti->buffer + sb, 508 (ti->nc - sb) * sizeof( wchar_t));508 (ti->nc - sb) * sizeof(char32_t)); 509 509 510 510 ti->pos = ti->sel_start = sa; … … 526 526 527 527 if (sb < ti->nc) { 528 wchar_t tmp_c = ti->buffer[sb];528 char32_t tmp_c = ti->buffer[sb]; 529 529 ti->buffer[sb] = '\0'; 530 530 str = wstr_to_astr(ti->buffer + sa); … … 602 602 size_t i; 603 603 size_t a_off, b_off; 604 wchar_t ca, cb;604 char32_t ca, cb; 605 605 606 606 i = 0;
Note:
See TracChangeset
for help on using the changeset viewer.