summaryrefslogtreecommitdiff
path: root/lib/libc/putchar.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/putchar.c')
-rw-r--r--lib/libc/putchar.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/libc/putchar.c b/lib/libc/putchar.c
new file mode 100644
index 00000000..8265667b
--- /dev/null
+++ b/lib/libc/putchar.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stdio.h>
+#include <console.h>
+
+/* Putchar() should either return the character printed or EOF in case of error.
+ * Our current console_putc() function assumes success and returns the
+ * character. Write all other printing functions in terms of putchar(), if
+ * possible, so they all benefit when this is improved.
+ */
+int putchar(int c)
+{
+ int res;
+ if (console_putc((unsigned char)c) >= 0)
+ res = c;
+ else
+ res = EOF;
+
+ return res;
+}