[git commit] unifdef: implement err.h funcs locally

Mike Frysinger vapier at gentoo.org
Mon Jul 20 11:32:40 UTC 2009


commit: http://git.uclibc.org/uClibc/commit/?id=fa6b1e952629879dd715730637ffa3b45eb83285
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master


Since the err.h functions are optional in uClibc, make sure we can rebuild
ourselves if support is disabled.

URL: https://bugs.busybox.net/show_bug.cgi?id=257
Reported-by: Michael Deutschmann <michael at talamasca.ocis.net>
Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
 extra/scripts/unifdef.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/extra/scripts/unifdef.c b/extra/scripts/unifdef.c
index 5d1171e..abc3996 100644
--- a/extra/scripts/unifdef.c
+++ b/extra/scripts/unifdef.c
@@ -63,8 +63,8 @@ __FBSDID("$FreeBSD: /repoman/r/ncvs/src/usr.bin/unifdef/unifdef.c,v 1.20 2005/05
  *     also make it possible to handle all "dodgy" directives correctly.
  */
 
+#include <errno.h>
 #include <ctype.h>
-#include <err.h>
 #include <stdarg.h>
 #include <stdbool.h>
 #include <stdio.h>
@@ -72,6 +72,12 @@ __FBSDID("$FreeBSD: /repoman/r/ncvs/src/usr.bin/unifdef/unifdef.c,v 1.20 2005/05
 #include <string.h>
 #include <unistd.h>
 
+/* Avoid err.h since uClibc can disable these things */
+#define vwarnx(fmt, args)   ({ fprintf(stderr, "unifdef: "); vfprintf(stderr, fmt, args); fprintf(stderr, "\n"); })
+#define warnx(fmt, args...) fprintf(stderr, "unifdef: " fmt "\n", ## args)
+#define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); })
+#define err(exit_code, fmt, args...)  errx(exit_code, fmt ": %s", ## args, strerror(errno))
+
 size_t strlcpy(char *dst, const char *src, size_t siz);
 
 /* types of input lines: */
-- 
1.6.3.3


More information about the uClibc-cvs mailing list