From 4e518231cf5ff4485fdaf4d52c4f51aa48e5255d Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Sat, 10 Sep 2011 19:49:16 +0200 Subject: Add asprintf replacement for systems lacking it --- src/asprintf.h | 23 +++++++++++++++++++++++ src/debug.c | 4 ++++ src/lockdown.c | 1 + 3 files changed, 28 insertions(+) create mode 100644 src/asprintf.h diff --git a/src/asprintf.h b/src/asprintf.h new file mode 100644 index 0000000..6f1250d --- /dev/null +++ b/src/asprintf.h @@ -0,0 +1,23 @@ +#ifndef ASPRINTF_H +#define ASPRINTF_H +#ifndef vasprintf +static inline int vasprintf(char **PTR, const char *TEMPLATE, va_list AP) +{ + int res; + *PTR = (char*)malloc(512); + res = vsnprintf(*PTR, 512, TEMPLATE, AP); + return res; +} +#endif +#ifndef asprintf +static inline int asprintf(char **PTR, const char *TEMPLATE, ...) +{ + int res; + va_list AP; + va_start(AP, TEMPLATE); + res = vasprintf(PTR, TEMPLATE, AP); + va_end(AP); + return res; +} +#endif +#endif diff --git a/src/debug.c b/src/debug.c index ece2b1d..b1c528d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -34,6 +34,10 @@ #include "debug.h" #include "libimobiledevice/libimobiledevice.h" +#ifndef STRIP_DEBUG_CODE +#include "asprintf.h" +#endif + int debug_level = 0; /** diff --git a/src/lockdown.c b/src/lockdown.c index 424cf89..0f1e1b2 100644 --- a/src/lockdown.c +++ b/src/lockdown.c @@ -35,6 +35,7 @@ #include "idevice.h" #include "debug.h" #include "userpref.h" +#include "asprintf.h" #define RESULT_SUCCESS 0 #define RESULT_FAILURE 1 -- cgit v1.1-32-gdbae