console: Improve putchar(), add puts()

Make putchar() match a standard prototype and add puts()

Also make puts() add carriage returns before linefeeds so the
users don't have to do it all over the place.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
pull/176/head
Benjamin Herrenschmidt 4 years ago
parent fcec66acf4
commit 88b28a7b17

@ -98,12 +98,13 @@ int getchar(void)
return potato_uart_read(); return potato_uart_read();
} }


void putchar(unsigned char c) int putchar(int c)
{ {
while (potato_uart_tx_full()) while (potato_uart_tx_full())
/* Do Nothing */; /* Do Nothing */;


potato_uart_write(c); potato_uart_write(c);
return c;
} }


void putstr(const char *str, unsigned long len) void putstr(const char *str, unsigned long len)
@ -113,6 +114,19 @@ void putstr(const char *str, unsigned long len)
} }
} }


int puts(const char *str)
{
unsigned int i;

for (i = 0; *str; i++) {
char c = *(str++);
if (c == 10)
putchar(13);
putchar(c);
}
return 0;
}

size_t strlen(const char *s) size_t strlen(const char *s)
{ {
size_t len = 0; size_t len = 0;

Loading…
Cancel
Save