From d29337580e6ad49ca3353a22b9099e9e47a4bd17 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 26 May 2006 19:58:58 +0000 Subject: [PATCH] - use strtol instead of strtoll if the latter does not exist - add and use wrapper for attribute - add and use replacement for vasprintf if it is unavailable --- scripts/bb_mkdep.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/scripts/bb_mkdep.c b/scripts/bb_mkdep.c index 2ad20a6a8..0c0b09dac 100644 --- a/scripts/bb_mkdep.c +++ b/scripts/bb_mkdep.c @@ -69,10 +69,19 @@ #include #include +#ifdef __GNUC__ +#define ATTRIBUTE __attribute__ +#else +#define ATTRIBUTE(a) /* nothing */ +#endif + +#if !(defined __USE_ISOC99 || (defined __GLIBC_HAVE_LONG_LONG && defined __USE_MISC)) +#define strtoll strtol +#endif /* partial and simplified libbb routine */ -static void bb_error_d(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))); -static char * bb_asprint(const char *format, ...) __attribute__ ((format (printf, 1, 2))); +static void bb_error_d(const char *s, ...) ATTRIBUTE ((noreturn, format (printf, 1, 2))); +static char * bb_asprint(const char *format, ...) ATTRIBUTE ((format (printf, 1, 2))); static char *bb_simplify_path(const char *path); /* stolen from libbb as is */ @@ -1598,7 +1607,7 @@ static void scan_dir_find_ch_files(const char *p) } } -static void show_usage(void) __attribute__ ((noreturn)); +static void show_usage(void) ATTRIBUTE ((noreturn)); static void show_usage(void) { bb_error_d("%s\n%s\n", bb_mkdep_terse_options, bb_mkdep_full_options); @@ -1720,9 +1729,16 @@ static char *bb_asprint(const char *format, ...) int r; char *out; +#ifdef __USE_GNU va_start(p, format); r = vasprintf(&out, format, p); va_end(p); +#else + out = xmalloc(BUFSIZ); + va_start(p, format); + r = vsprintf(out, format, p); + va_end(p); +#endif if (r < 0) bb_error_d("bb_asprint: %m"); -- 2.25.1