From c584d4eda4605b14b3731d72b85305ad58efcb97 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 13 Mar 2020 10:14:04 +0100 Subject: rtems: Add rtems_put_char() Update #3904. --- cpukit/Makefile.am | 1 + cpukit/include/rtems/bspIo.h | 10 +++++++++ cpukit/libcsupport/src/rtems_put_char.c | 38 +++++++++++++++++++++++++++++++++ cpukit/libcsupport/src/vprintk.c | 7 +----- 4 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 cpukit/libcsupport/src/rtems_put_char.c diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am index 968c52fe44..633f063b7d 100644 --- a/cpukit/Makefile.am +++ b/cpukit/Makefile.am @@ -219,6 +219,7 @@ librtemscpu_a_SOURCES += libcsupport/src/rtems_heap_null_extend.c librtemscpu_a_SOURCES += libcsupport/src/rtems_memalign.c librtemscpu_a_SOURCES += libcsupport/src/rtems_mkdir.c librtemscpu_a_SOURCES += libcsupport/src/rtems_putc.c +librtemscpu_a_SOURCES += libcsupport/src/rtems_put_char.c librtemscpu_a_SOURCES += libcsupport/src/setegid.c librtemscpu_a_SOURCES += libcsupport/src/seteuid.c librtemscpu_a_SOURCES += libcsupport/src/setgid.c diff --git a/cpukit/include/rtems/bspIo.h b/cpukit/include/rtems/bspIo.h index c906a9a33b..ad196dfd34 100644 --- a/cpukit/include/rtems/bspIo.h +++ b/cpukit/include/rtems/bspIo.h @@ -135,6 +135,16 @@ extern int putk(const char *s); */ extern void rtems_putc(char c); +/** + * @brief Puts the character via rtems_putc(). + * + * This is a compatibility function to support an internal API. + * + * @param c The character to put. + * @param arg Ignored. + */ +void rtems_put_char( int c, void *arg ); + /**@}*/ #ifdef __cplusplus diff --git a/cpukit/libcsupport/src/rtems_put_char.c b/cpukit/libcsupport/src/rtems_put_char.c new file mode 100644 index 0000000000..1c141f106b --- /dev/null +++ b/cpukit/libcsupport/src/rtems_put_char.c @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +void rtems_put_char( int c, void *arg ) +{ + (void) arg; + rtems_putc( (char) c ); +} diff --git a/cpukit/libcsupport/src/vprintk.c b/cpukit/libcsupport/src/vprintk.c index 09b6f0f006..b5842fbea3 100644 --- a/cpukit/libcsupport/src/vprintk.c +++ b/cpukit/libcsupport/src/vprintk.c @@ -26,12 +26,7 @@ #include #include -static void vprintk_putchar( int c, void *arg ) -{ - rtems_putc((char) c); -} - int vprintk( const char *fmt, va_list ap ) { - return _IO_Vprintf( vprintk_putchar, NULL, fmt, ap ); + return _IO_Vprintf( rtems_put_char, NULL, fmt, ap ); } -- cgit v1.2.3