On 17/06/2015 9:13 pm, Sebastian Huber wrote: > > > On 16/06/15 05:21, Chris Johns wrote: >> Module: rtems-libbsd >> Branch: master >> Commit: b5aca585949aa94d8d254ab4c4e5b4b2f7b1f1d9 >> Changeset: >> http://git.rtems.org/rtems-libbsd/commit/?id=b5aca585949aa94d8d254ab4c4e5b4b2f7b1f1d9 >> >> >> Author: Chris Johns <chr...@rtems.org> >> Date: Tue Jun 16 13:16:37 2015 +1000 >> >> Add error() to the BSD program support. >> >> --- >> >> rtemsbsd/include/machine/rtems-bsd-program.h | 11 +++++++++++ >> rtemsbsd/rtems/rtems-bsd-program.c | 13 +++++++++++++ >> 2 files changed, 24 insertions(+) >> >> diff --git a/rtemsbsd/include/machine/rtems-bsd-program.h >> b/rtemsbsd/include/machine/rtems-bsd-program.h >> index b2e542e..7c2837e 100644 >> --- a/rtemsbsd/include/machine/rtems-bsd-program.h >> +++ b/rtemsbsd/include/machine/rtems-bsd-program.h >> @@ -56,6 +56,9 @@ rtems_bsd_program_call_main(const char *name, int >> (*main)(int, char **), >> void >> rtems_bsd_program_exit(int exit_code) __dead2; >> +void >> +rtems_bsd_program_error(const char *, ...) __attribute__ ((__format__ >> (__printf__, 1, 2))); >> + >> const char * >> rtems_bsd_program_get_name(void); >> @@ -69,14 +72,22 @@ void >> rtems_bsd_program_unlock(void); >> #ifndef RTEMS_BSD_PROGRAM_NO_EXIT_WRAP >> + #undef exit > > What is the reason for this #undef? >
I got warnings for printf in tcpdump for some reason so add the undef to all symbols present. Does it hurt having it present ? >> #define exit(code) rtems_bsd_program_exit(code) >> #endif >> +#ifndef RTEMS_BSD_PROGRAM_NO_ERROR_WRAP >> + #undef error >> + #define error(fmt, ...) rtems_bsd_program_error(fmt, ## __VA_ARGS__) >> +#endif >> + >> #ifndef RTEMS_BSD_PROGRAM_NO_GETPROGNAME_WRAP >> + #undef getprogname >> #define getprogname() rtems_bsd_program_get_name() >> #endif >> #ifndef RTEMS_BSD_PROGRAM_NO_PRINTF_WRAP >> + #undef printf >> #define printf(...) fprintf(stdout, __VA_ARGS__) >> #endif >> diff --git a/rtemsbsd/rtems/rtems-bsd-program.c >> b/rtemsbsd/rtems/rtems-bsd-program.c >> index 8edd8f9..7b5920e 100644 >> --- a/rtemsbsd/rtems/rtems-bsd-program.c >> +++ b/rtemsbsd/rtems/rtems-bsd-program.c >> @@ -52,6 +52,8 @@ >> #include <setjmp.h> >> #include <stdlib.h> >> +#include <machine/rtems-bsd-program.h> >> + >> struct rtems_bsd_program_control { >> void *context; >> int exit_code; >> @@ -116,6 +118,17 @@ rtems_bsd_program_exit(int exit_code) >> panic("unexpected BSD program exit"); >> } >> +void >> +rtems_bsd_program_error(const char *fmt, ...) >> +{ >> + va_list list; >> + va_start(list, fmt); >> + vfprintf(stderr, fmt, list); >> + fprintf(stderr, "\n"); >> + va_end(list); >> + rtems_bsd_program_exit(1); >> +} >> + > > It would be nice to keep the style of the files and this is STYLE(9) > more or less. Sure. Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel