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?

    #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.

  const char *
  rtems_bsd_program_get_name(void)
  {

_______________________________________________
vc mailing list
v...@rtems.org
http://lists.rtems.org/mailman/listinfo/vc

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to