Module: xenomai-head Branch: master Commit: 1ace8a2563ba58f0869e9119151175bf3037e701 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=1ace8a2563ba58f0869e9119151175bf3037e701
Author: Jan Kiszka <jan.kis...@siemens.com> Date: Sun Jul 31 19:36:24 2011 +0200 rt_print: Clean up print_to_buffer invocation without vargs Some archs define va_list in a way that a NULL placeholder cannot be used. Create a helper that accepts variable - or zero - format arguments and use that one to implement rt_puts. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- src/skins/common/rt_print.c | 29 +++++++++++++++++++++-------- 1 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/skins/common/rt_print.c b/src/skins/common/rt_print.c index 186de48..e398135 100644 --- a/src/skins/common/rt_print.c +++ b/src/skins/common/rt_print.c @@ -95,8 +95,8 @@ static void print_buffers(void); /* *** rt_print API *** */ -static int print_to_buffer(FILE *stream, int priority, unsigned int mode, - const char *format, va_list args) +static int vprint_to_buffer(FILE *stream, int priority, unsigned int mode, + const char *format, va_list args) { struct print_buffer *buffer = pthread_getspecific(buffer_key); off_t write_pos, read_pos; @@ -207,9 +207,22 @@ static int print_to_buffer(FILE *stream, int priority, unsigned int mode, return res; } +static int print_to_buffer(FILE *stream, int priority, unsigned int mode, + const char *format, ...) +{ + va_list args; + int ret; + + va_start(args, format); + ret = vprint_to_buffer(stream, priority, mode, format, args); + va_end(args); + + return ret; +} + int rt_vfprintf(FILE *stream, const char *format, va_list args) { - return print_to_buffer(stream, 0, RT_PRINT_MODE_FORMAT, format, args); + return vprint_to_buffer(stream, 0, RT_PRINT_MODE_FORMAT, format, args); } int rt_vprintf(const char *format, va_list args) @@ -243,7 +256,7 @@ int rt_printf(const char *format, ...) int rt_puts(const char *s) { - return print_to_buffer(stdout, 0, RT_PRINT_MODE_PUTS, s, NULL); + return print_to_buffer(stdout, 0, RT_PRINT_MODE_PUTS, s); } void rt_syslog(int priority, const char *format, ...) @@ -251,15 +264,15 @@ void rt_syslog(int priority, const char *format, ...) va_list args; va_start(args, format); - print_to_buffer(RT_PRINT_SYSLOG_STREAM, priority, RT_PRINT_MODE_FORMAT, - format, args); + vprint_to_buffer(RT_PRINT_SYSLOG_STREAM, priority, + RT_PRINT_MODE_FORMAT, format, args); va_end(args); } void rt_vsyslog(int priority, const char *format, va_list args) { - print_to_buffer(RT_PRINT_SYSLOG_STREAM, priority, RT_PRINT_MODE_FORMAT, - format, args); + vprint_to_buffer(RT_PRINT_SYSLOG_STREAM, priority, + RT_PRINT_MODE_FORMAT, format, args); } static void set_buffer_name(struct print_buffer *buffer, const char *name) _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git