/trunk/uspace/lib/libc/include/console.h |
---|
37,6 → 37,7 |
#include <console/style.h> |
#include <console/color.h> |
#include <sys/types.h> |
#include <bool.h> |
extern void console_open(bool); |
47,7 → 48,7 |
extern void console_clear(void); |
extern void console_goto(int, int); |
extern void console_putchar(int); |
extern void console_putchar(wchar_t); |
extern ssize_t console_write(const char *buf, size_t nbyte); |
extern void console_putstr(const char *s); |
extern void console_flush(void); |
/trunk/uspace/lib/libc/Makefile.toolchain |
---|
26,7 → 26,10 |
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
# |
CFLAGS = -fno-builtin -Wall -Werror-implicit-function-declaration -Wmissing-prototypes -O3 -nostdlib -nostdinc -imacros $(LIBC_PREFIX)/../../../config.h -I$(LIBC_PREFIX)/include -pipe -g |
CFLAGS = -fno-builtin -Wall -Werror-implicit-function-declaration\ |
-fexec-charset=UTF-8 -fwide-exec-charset=UTF-32 -finput-charset=UTF-8\ |
-Wmissing-prototypes -O3 -nostdlib -nostdinc -imacros\ |
$(LIBC_PREFIX)/../../../config.h -I$(LIBC_PREFIX)/include -pipe -g |
LFLAGS = -M -N $(SOFTINT_PREFIX)/libsoftint.a |
AFLAGS = |
/trunk/uspace/lib/libc/generic/console.c |
---|
57,7 → 57,7 |
static char *cbp = cbuffer; |
static ssize_t cons_write(const char *buf, size_t nbyte); |
static void cons_putchar(int c); |
static void cons_putchar(wchar_t c); |
static void cbuffer_flush(void); |
static void cbuffer_drain(void); |
119,9 → 119,11 |
async_msg_2(cons_phone, CONSOLE_GOTO, row, col); |
} |
void console_putchar(int c) |
void console_putchar(wchar_t c) |
{ |
cbuffer_putc(c); |
// cbuffer_putc(c); |
cbuffer_flush(); |
cons_putchar(c); |
} |
/** Write all data from output buffer to the console. */ |
162,7 → 164,7 |
} |
/** Write one character to the console via IPC. */ |
static void cons_putchar(int c) |
static void cons_putchar(wchar_t c) |
{ |
int cons_phone = console_phone_get(true); |
async_msg_1(cons_phone, CONSOLE_PUTCHAR, c); |
/trunk/uspace/lib/libc/generic/io/io.c |
---|
36,6 → 36,8 |
#include <unistd.h> |
#include <stdio.h> |
#include <io/io.h> |
#include <string.h> |
#include <errno.h> |
const static char nl = '\n'; |
87,10 → 89,16 |
int putchar(int c) |
{ |
unsigned char ch = c; |
if (write_stdout((void *) &ch, 1) == 1) |
char buf[STR_BOUNDS(1)]; |
size_t offs; |
offs = 0; |
if (chr_encode(c, buf, &offs, STR_BOUNDS(1)) != EOK) |
return EOF; |
if (write_stdout((void *) buf, offs) == offs) |
return c; |
return EOF; |
} |