X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=include%2Futils.h;h=a1176a6379e17ed30fb8c003e035ae49bcd5aef9;hb=714e16fb945e1a852cc011d9c52ceb98384177bc;hp=5c50dd498428a61aa704ab2da99ec5c49d071fcc;hpb=cab0b442977697b876127cda082b1262ece2714b;p=doldaconnect.git diff --git a/include/utils.h b/include/utils.h index 5c50dd4..a1176a6 100644 --- a/include/utils.h +++ b/include/utils.h @@ -21,7 +21,6 @@ #include #include -#include #ifdef DAEMON #include "log.h" #endif @@ -35,9 +34,9 @@ struct wcspair { /* "Safe" functions */ #ifdef DAEMON -#define LOGOOM(size) flog(LOG_CRIT, "%s (%s:%i): out of memory (alloc %i)", __FUNCTION__, __FILE__, __LINE__, (size)) -#define smalloc(size) ({void *__result__; ((__result__ = malloc(size)) == NULL)?({LOGOOM(size); abort(); (void *)0;}):__result__;}) -#define srealloc(ptr, size) ({void *__result__; ((__result__ = realloc((ptr), (size))) == NULL)?({LOGOOM(size); abort(); (void *)0;}):__result__;}) +#define LOGOOM(size) flog(LOG_CRIT, "%s (%s:%i): out of memory (alloc %zi)", __FUNCTION__, __FILE__, __LINE__, (size)) +#define smalloc(size) ({void *__result__; ((__result__ = malloc(size)) == NULL)?({LOGOOM((ssize_t)(size)); abort(); (void *)0;}):__result__;}) +#define srealloc(ptr, size) ({void *__result__; ((__result__ = realloc((ptr), (size))) == NULL)?({LOGOOM((ssize_t)(size)); abort(); (void *)0;}):__result__;}) #define swcsdup(wcs) ((wchar_t *)wcscpy(smalloc(sizeof(wchar_t) * (wcslen(wcs) + 1)), (wcs))) #define sstrdup(str) ((char *)strcpy(smalloc(strlen(str) + 1), (str))) #else @@ -74,7 +73,7 @@ extern int swprintf (wchar_t *__restrict __s, size_t __n, char *vsprintf2(char *format, va_list al); char *sprintf2(char *format, ...) -#if defined(__GNUC__) && 0 +#if defined(__GNUC__) __attribute__ ((format (printf, 1, 2))) #endif ; @@ -101,7 +100,7 @@ char *base32encode(char *data, size_t datalen); char *base32decode(char *data, size_t *datalen); void _freeparr(void **arr); int _parrlen(void **arr); -char *findfile(char *gname, char *uname, char *homedir, int filldef); +char *findfile(char *name, char *homedir, int filldef); struct wcspair *newwcspair(wchar_t *key, wchar_t *val, struct wcspair **list); void freewcspair(struct wcspair *pair, struct wcspair **list); wchar_t *wpfind(struct wcspair *list, wchar_t *key);