diff options
Diffstat (limited to 'target/image/generic/lzma-loader/src/printf.c')
-rw-r--r-- | target/image/generic/lzma-loader/src/printf.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/target/image/generic/lzma-loader/src/printf.c b/target/image/generic/lzma-loader/src/printf.c new file mode 100644 index 0000000..49bd50d --- /dev/null +++ b/target/image/generic/lzma-loader/src/printf.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2001 MontaVista Software Inc. + * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ + +#include "printf.h" +#include "print.h" +#include "uart16550.h" + +static void myoutput(void *arg, char *s, int l) +{ + int i; + + // special termination call + if ((l==1) && (s[0] == '\0')) return; + + for (i=0; i< l; i++) { + Uart16550Put(s[i]); + if (s[i] == '\n') Uart16550Put('\r'); + } +} + +void printf(char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + lp_Print(myoutput, 0, fmt, ap); + va_end(ap); +} |