Changeset 28a5ebd in mainline for uspace/lib/fmtutil/fmtutil.c
- Timestamp:
- 2020-06-18T15:39:50Z (5 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/fmtutil/fmtutil.c
r4f663f3e r28a5ebd 62 62 63 63 /** Line consumer that prints the lines aligned according to spec */ 64 static errno_t print_line( wchar_t *wstr, size_t chars, bool last, void *data)64 static errno_t print_line(char32_t *wstr, size_t chars, bool last, void *data) 65 65 { 66 66 printmode_t *pm = (printmode_t *) data; 67 wchar_t old_char = wstr[chars];67 char32_t old_char = wstr[chars]; 68 68 wstr[chars] = 0; 69 69 errno_t rc = print_aligned_w(wstr, pm->width, last, pm->alignment); … … 78 78 pm.newline_always = false; 79 79 pm.width = width; 80 wchar_t *wstr = str_to_awstr(str);80 char32_t *wstr = str_to_awstr(str); 81 81 if (wstr == NULL) { 82 82 return ENOMEM; … … 87 87 } 88 88 89 errno_t print_aligned_w(const wchar_t *wstr, size_t width, bool last,89 errno_t print_aligned_w(const char32_t *wstr, size_t width, bool last, 90 90 align_mode_t mode) 91 91 { … … 95 95 for (i = 0; i < width; i++) { 96 96 if (i < len) 97 put wchar(wstr[i]);97 putuchar(wstr[i]); 98 98 else 99 put wchar(' ');99 putuchar(' '); 100 100 } 101 101 } else if (mode == ALIGN_RIGHT) { 102 102 for (i = 0; i < width; i++) { 103 103 if (i < width - len) 104 put wchar(' ');104 putuchar(' '); 105 105 else 106 put wchar(wstr[i - (width - len)]);106 putuchar(wstr[i - (width - len)]); 107 107 } 108 108 } else if (mode == ALIGN_CENTER) { … … 110 110 for (i = 0; i < width; i++) { 111 111 if ((i < padding) || ((i - padding) >= len)) 112 put wchar(' ');112 putuchar(' '); 113 113 else 114 put wchar(wstr[i - padding]);114 putuchar(wstr[i - padding]); 115 115 } 116 116 } else if (mode == ALIGN_JUSTIFY) { … … 146 146 (words - 1))); 147 147 for (j = 0; j < spaces; j++) { 148 put wchar(' ');148 putuchar(' '); 149 149 } 150 150 done_chars += spaces; 151 151 } 152 152 while (i < len && wstr[i] != ' ') { 153 put wchar(wstr[i++]);153 putuchar(wstr[i++]); 154 154 done_chars++; 155 155 } … … 158 158 skip_words: 159 159 while (done_chars < width) { 160 put wchar(' ');160 putuchar(' '); 161 161 done_chars++; 162 162 } … … 169 169 errno_t print_aligned(const char *str, size_t width, bool last, align_mode_t mode) 170 170 { 171 wchar_t *wstr = str_to_awstr(str);171 char32_t *wstr = str_to_awstr(str); 172 172 if (wstr == NULL) { 173 173 return ENOMEM; … … 178 178 } 179 179 180 errno_t wrap( wchar_t *wstr, size_t width, line_consumer_fn consumer, void *data)180 errno_t wrap(char32_t *wstr, size_t width, line_consumer_fn consumer, void *data) 181 181 { 182 182 size_t word_start = 0;
Note:
See TracChangeset
for help on using the changeset viewer.