diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-31 09:44:49 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-31 10:10:36 +0200 |
commit | 3242614d92130639ea55c2457a17ae313662f0c4 (patch) | |
tree | acf3525d67d61917d5ca76df1c243c0d73d581d4 | |
parent | bsp/qoriq: Fix nocache region placement (diff) | |
download | rtems-3242614d92130639ea55c2457a17ae313662f0c4.tar.bz2 |
Fix rtems_print_printer_fprintf()
We must use vfprintf().
-rw-r--r-- | cpukit/include/rtems/bspIo.h | 17 | ||||
-rw-r--r-- | cpukit/libcsupport/src/print_fprintf.c | 7 |
2 files changed, 21 insertions, 3 deletions
diff --git a/cpukit/include/rtems/bspIo.h b/cpukit/include/rtems/bspIo.h index 403b857e43..a7fd9590ee 100644 --- a/cpukit/include/rtems/bspIo.h +++ b/cpukit/include/rtems/bspIo.h @@ -144,7 +144,7 @@ typedef int (*rtems_print_plugin_t)(void *, const char *format, va_list ap); /** * @brief Reporting Methods printk() Plugin * - * @param[in] context points to a user defined context. + * @param[in] context Unused. * @param[in] fmt is a printf()-style format string * * @return The number of characters printed. @@ -157,13 +157,26 @@ extern int printk_plugin(void *context, const char *fmt, va_list ap); * This is a standard plug-in to support using printf() for output * instead of printk(). * - * @param[in] context points to a user defined context. + * @param[in] context Unused. * @param[in] fmt is a printf()-style format string * * @return The number of characters printed. */ extern int rtems_printf_plugin(void *context, const char *fmt, va_list ap); +/** + * @brief Reporting Methods fprintf() Plugin + * + * This is a standard plug-in to support using fprintf() for output + * instead of printk(). + * + * @param[in] context The file stream. + * @param[in] fmt is a printf()-style format string + * + * @return The number of characters printed. + */ +extern int rtems_fprintf_plugin(void *context, const char *fmt, va_list ap); + /**@}*/ #ifdef __cplusplus diff --git a/cpukit/libcsupport/src/print_fprintf.c b/cpukit/libcsupport/src/print_fprintf.c index 5e46d1c959..757293e4c7 100644 --- a/cpukit/libcsupport/src/print_fprintf.c +++ b/cpukit/libcsupport/src/print_fprintf.c @@ -22,8 +22,13 @@ #include <stdio.h> +int rtems_fprintf_plugin(void *context, const char *fmt, va_list ap) +{ + return vfprintf(context, fmt, ap); +} + void rtems_print_printer_fprintf(rtems_printer *printer, FILE *file) { printer->context = file; - printer->printer = (rtems_print_plugin_t) fprintf; + printer->printer = rtems_fprintf_plugin; } |