Browse Source

refactor(console): move putchar() to console driver

Moving putchar() out of libc and adding a weak dummy
implementation in libc.

This is to remove libc's dependencies to the platform
driver.

Signed-off-by: Claus Pedersen <claustbp@google.com>
Change-Id: Ib7fefaec0babb783def614ea23521f482fa4a28a
pull/1988/merge
Claus Pedersen 2 years ago
committed by Joanna Farley
parent
commit
e0b6826e44
  1. 10
      drivers/console/multi_console.c
  2. 14
      lib/libc/putchar.c

10
drivers/console/multi_console.c

@ -6,6 +6,7 @@
#include <assert.h>
#include <stddef.h>
#include <stdlib.h>
#include <drivers/console.h>
@ -96,10 +97,17 @@ int console_putc(int c)
if ((err == ERROR_NO_VALID_CONSOLE) || (ret < err))
err = ret;
}
return err;
}
int putchar(int c)
{
if (console_putc(c) == 0)
return c;
else
return EOF;
}
int console_getc(void)
{
int err = ERROR_NO_VALID_CONSOLE;

14
lib/libc/putchar.c

@ -6,15 +6,9 @@
#include <stdio.h>
#include <drivers/console.h>
int putchar(int c)
int __putchar(int c)
{
int res;
if (console_putc((unsigned char)c) >= 0)
res = c;
else
res = EOF;
return res;
return c;
}
int putchar(int c) __attribute__((weak,alias("__putchar")));

Loading…
Cancel
Save