Changeset b27eb71 in mainline
- Timestamp:
- 2009-04-05T09:17:02Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9db4079
- Parents:
- f2b8cdc
- Location:
- uspace/srv/fb
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fb/ega.c
rf2b8cdc rb27eb71 84 84 85 85 static unsigned attr_to_ega_style(const attrs_t *a); 86 static uint8_t ega_glyph(wchar_t ch); 86 87 87 88 static void clrscr(void) … … 144 145 } 145 146 146 static void printchar( charc, unsigned int row, unsigned int col)147 { 148 scr_addr[(row * scr_width + col) * 2] = c;147 static void printchar(wchar_t c, unsigned int row, unsigned int col) 148 { 149 scr_addr[(row * scr_width + col) * 2] = ega_glyph(c); 149 150 scr_addr[(row * scr_width + col) * 2 + 1] = style; 150 151 … … 173 174 dp = &scr_addr[2 * ((y + j) * scr_width + (x + i))]; 174 175 175 dp[0] = field->character;176 dp[0] = ega_glyph(field->character); 176 177 dp[1] = attr_to_ega_style(&field->attrs); 177 178 } … … 249 250 } 250 251 252 static uint8_t ega_glyph(wchar_t ch) 253 { 254 if (ch >= 0 && ch < 128) 255 return ch; 256 257 return '?'; 258 } 259 251 260 static void ega_client_connection(ipc_callid_t iid, ipc_call_t *icall) 252 261 { … … 254 263 ipc_callid_t callid; 255 264 ipc_call_t call; 256 charc;265 wchar_t c; 257 266 unsigned int row, col, w, h; 258 267 int bg_color, fg_color, attr; -
uspace/srv/fb/serial_console.c
rf2b8cdc rb27eb71 54 54 55 55 static void serial_sgr(const unsigned int mode); 56 void serial_putchar(wchar_t ch); 56 57 57 58 static int scr_width; 58 59 static int scr_height; 59 60 static bool color = true; /** True if producing color output. */ 61 static bool utf8 = false; /** True if producing UTF8 output. */ 60 62 static putc_function_t putc_function; 61 63 … … 105 107 void serial_putchar(wchar_t ch) 106 108 { 107 (*putc_function)(ch); 109 uint8_t buf[STR_BOUNDS(1)]; 110 size_t offs; 111 size_t i; 112 113 if (utf8 != true) { 114 if (ch >= 0 && ch < 128) 115 (*putc_function)((uint8_t) ch); 116 else 117 (*putc_function)('?'); 118 return; 119 } 120 121 offs = 0; 122 if (chr_encode(ch, buf, &offs, STR_BOUNDS(1)) == EOK) { 123 for (i = 0; i < offs; i++) 124 (*putc_function)(buf[i]); 125 } else { 126 (*putc_function)('?'); 127 } 128 108 129 } 109 130
Note:
See TracChangeset
for help on using the changeset viewer.