From 58707dac42579bf31aeb6ae05d0243bfaad86ccf Mon Sep 17 00:00:00 2001 From: Martin Baulig Date: Sun, 14 Jun 1998 16:47:09 +0000 Subject: [PATCH] New function - same as `glibtop_error_r', but doesn't call `exit'. 1998-06-14 Martin Baulig * sysdeps/common/error.c (glibtop_warn_r): New function - same as `glibtop_error_r', but doesn't call `exit'. (glibtop_error_io_r, glibtop_warn_io_r): New functions, display `strerror (errno)' together with message. --- include/glibtop/error.h | 8 ++++++++ sysdeps/common/error.c | 43 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/include/glibtop/error.h b/include/glibtop/error.h index adb85828..915554c9 100644 --- a/include/glibtop/error.h +++ b/include/glibtop/error.h @@ -27,8 +27,16 @@ __BEGIN_DECLS #define glibtop_error(p1, args...) glibtop_error_r(glibtop_global_server , p1 , ## args) +#define glibtop_warn(p1, args...) glibtop_warn_r(glibtop_global_server , p1 , ## args) + +#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args) +#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args) extern void glibtop_error_r __P((glibtop *, char *, ...)); +extern void glibtop_warn_r __P((glibtop *, char *, ...)); + +extern void glibtop_error_io_r __P((glibtop *, char *, ...)); +extern void glibtop_warn_io_r __P((glibtop *, char *, ...)); __END_DECLS diff --git a/sysdeps/common/error.c b/sysdeps/common/error.c index 2424d11c..55e9e265 100644 --- a/sysdeps/common/error.c +++ b/sysdeps/common/error.c @@ -37,3 +37,46 @@ glibtop_error_r (glibtop *server, char *format, ...) va_end (ap); exit (1); } + +void +glibtop_error_io_r (glibtop *server, char *format, ...) +{ + va_list ap; + + va_start (ap, format); + + fprintf (stderr, "%s: ", server->name); + vfprintf (stderr, format, ap); + fprintf (stderr, ": %s\n", strerror (errno)); + + va_end (ap); + exit (1); +} + +void +glibtop_warn_r (glibtop *server, char *format, ...) +{ + va_list ap; + + va_start (ap, format); + + fprintf (stderr, "%s: ", server->name); + vfprintf (stderr, format, ap); + fprintf (stderr, "\n"); + + va_end (ap); +} + +void +glibtop_warn_io_r (glibtop *server, char *format, ...) +{ + va_list ap; + + va_start (ap, format); + + fprintf (stderr, "%s: ", server->name); + vfprintf (stderr, format, ap); + fprintf (stderr, ": %s\n", strerror (errno)); + + va_end (ap); +}