X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=include%2Futils.h;h=8cb40dd3d4b98929bd5e524120db6d2229fda5a9;hb=4344b8c8987cb5627f9ada36ae7a6e19d95ada33;hp=a1176a6379e17ed30fb8c003e035ae49bcd5aef9;hpb=5dee314c9cfa99e9211d6ace429fe5a89a51dfe3;p=doldaconnect.git diff --git a/include/utils.h b/include/utils.h index a1176a6..8cb40dd 100644 --- a/include/utils.h +++ b/include/utils.h @@ -37,7 +37,7 @@ struct wcspair { #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 swcsdup(wcs) ({wchar_t *__eval__; __eval__ = (wcs); (wchar_t *)wcscpy(smalloc(sizeof(wchar_t) * (wcslen(__eval__) + 1)), __eval__);}) #define sstrdup(str) ((char *)strcpy(smalloc(strlen(str) + 1), (str))) #else #define LOGOOM(size)