diff options
Diffstat (limited to '')
-rw-r--r-- | libsimple.h | 160 |
1 files changed, 126 insertions, 34 deletions
diff --git a/libsimple.h b/libsimple.h index 4619eef..298c1d9 100644 --- a/libsimple.h +++ b/libsimple.h @@ -877,18 +877,29 @@ static inline int libsimple_strncaseeqnul(const char *__a, const char *__b, size #endif -#define malloczn(CLEAR, ...) _libsimple_malloczn((CLEAR), __VA_ARGS__, (size_t)0) /* TODO test */ -#define mallocn(...) malloczn(0, __VA_ARGS__) /* TODO test */ -#define callocn(...) malloczn(1, __VA_ARGS__) /* TODO test */ - _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) void *libsimple_vmalloczn(int, size_t, va_list); +#ifndef vmalloczn +# define vmalloczn libsimple_vmalloczn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) static inline void *libsimple_vmallocn(size_t __n, va_list __ap) { return libsimple_vmalloczn(0, __n, __ap); } /* TODO test */ +#ifndef vmallocn +# define vmallocn libsimple_vmallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) static inline void *libsimple_vcallocn(size_t __n, va_list __ap) { return libsimple_vmalloczn(1, __n, __ap); } /* TODO test */ +#ifndef vcallocn +# define vcallocn libsimple_vcallocn +#endif + +_LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) +void *libsimple_vreallocn(void *, size_t, va_list); /* TODO test */ +#ifndef vreallocn +# define vreallocn libsimple_vreallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) static inline void * @@ -899,6 +910,9 @@ libsimple_malloczn(int __clear, size_t __n, ...) /* TODO test */ return libsimple_vmalloczn(__clear, __n, __ap); va_end(__ap); } +#ifndef malloczn +# define malloczn libsimple_malloczn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) static inline void * @@ -909,6 +923,9 @@ libsimple_mallocn(size_t __n, ...) /* TODO test */ return libsimple_vmalloczn(0, __n, __ap); va_end(__ap); } +#ifndef mallocn +# define mallocn libsimple_mallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) static inline void * @@ -919,11 +936,9 @@ libsimple_callocn(size_t __n, ...) /* TODO test */ return libsimple_vmalloczn(1, __n, __ap); va_end(__ap); } - - -#define reallocn(PTR, ...) _libsimple_reallocn((PTR), __VA_ARGS__, (size_t)0) /* TODO test */ -_LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) -void *libsimple_vreallocn(void *, size_t, va_list); +#ifndef callocn +# define callocn libsimple_callocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__))) static inline void * @@ -934,42 +949,70 @@ libsimple_reallocn(void *__ptr, size_t __n, ...) /* TODO test */ return libsimple_vreallocn(__ptr, __n, __ap); va_end(__ap); } +#ifndef reallocn +# define reallocn libsimple_reallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -void *enmalloc(int, size_t); +void *libsimple_enmalloc(int, size_t); +#ifndef enmalloc +# define enmalloc libsimple_enmalloc +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -void *encalloc(int, size_t, size_t); +void *libsimple_encalloc(int, size_t, size_t); +#ifndef encalloc +# define encalloc libsimple_encalloc +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -void *enrealloc(int, void *, size_t); +void *libsimple_enrealloc(int, void *, size_t); +#ifndef enrealloc +# define enrealloc libsimple_enrealloc +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__nonnull__, __warn_unused_result__, __returns_nonnull__))) -char *enstrdup(int, const char *); +char *libsimple_enstrdup(int, const char *); +#ifndef enstrdup +# define enstrdup libsimple_enstrdup +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__nonnull__, __warn_unused_result__, __returns_nonnull__))) -char *enstrndup(int, const char *, size_t); +char *libsimple_enstrndup(int, const char *, size_t); +#ifndef enstrndup +# define enstrndup libsimple_enstrndup +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -void *enmemdup(int, const void *, size_t); - -#define enmalloczn(STATUS, CLEAR, ...) _libsimple_enmalloczn((STATUS), (CLEAR), __VA_ARGS__, (size_t)0) /* TODO test */ -#define enmallocn(STATUS, ...) _libsimple_enmallocn((STATUS), (CLEAR), __VA_ARGS__, (size_t)0) /* TODO test */ -#define encallocn(STATUS, ...) _libsimple_encallocn((STATUS), (CLEAR), __VA_ARGS__, (size_t)0) /* TODO test */ -#define enreallocn(STATUS, PTR, ...) _libsimple_enreallocn((STATUS), (PTR), __VA_ARGS__, (size_t)0) /* TODO test */ +void *libsimple_enmemdup(int, const void *, size_t); +#ifndef enmemdup +# define enmemdup libsimple_enmemdup +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) void *libsimple_envmalloczn(int, int, size_t, va_list); - -_LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -void *libsimple_envreallocn(int, void *, size_t, va_list); +#ifndef envmalloczn +# define envmalloczn libsimple_envmalloczn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void *libsimple_envmallocn(int __st, size_t __n, va_list __ap) { return libsimple_envmalloczn(__st, 0, __n, __ap); } /* TODO test */ +#ifndef envmallocn +# define envmallocn libsimple_envmallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void *libsimple_envcallocn(int __st, size_t __n, va_list __ap) { return libsimple_envmalloczn(__st, 1, __n, __ap); } /* TODO test */ +#ifndef envcallocn +# define envcallocn libsimple_envcallocn +#endif + +_LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) +void *libsimple_envreallocn(int, void *, size_t, va_list); +#ifndef envreallocn +# define envreallocn libsimple_envreallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -980,6 +1023,9 @@ libsimple_enmalloczn(int __status, int __clear, size_t __n, ...) /* TODO test */ return libsimple_envmalloczn(__status, __clear, __n, __ap); va_end(__ap); } +#ifndef enmalloczn +# define enmalloczn libsimple_enmalloczn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -990,6 +1036,9 @@ libsimple_enmallocn(int __status, size_t __n, ...) /* TODO test */ return libsimple_envmalloczn(__status, 0, __n, __ap); va_end(__ap); } +#ifndef enmallocn +# define enmallocn libsimple_enmallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -1000,6 +1049,9 @@ libsimple_encallocn(int __status, size_t __n, ...) /* TODO test */ return libsimple_envmalloczn(__status, 1, __n, __ap); va_end(__ap); } +#ifndef encallocn +# define encallocn libsimple_encallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -1010,46 +1062,74 @@ libsimple_enreallocn(int __status, void *__ptr, size_t __n, ...) /* TODO test */ return libsimple_envreallocn(__status, __ptr, __n, __ap); va_end(__ap); } +#ifndef enreallocn +# define enreallocn libsimple_enreallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -static inline void *emalloc(size_t __n) { return enmalloc(libsimple_default_failure_exit, __n); } /* TODO test */ +static inline void *libsimple_emalloc(size_t __n) { return enmalloc(libsimple_default_failure_exit, __n); } /* TODO test */ +#ifndef emalloc +# define emalloc libsimple_emalloc +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -static inline void *ecalloc(size_t __n, size_t __m) { return encalloc(libsimple_default_failure_exit, __n, __m); } /* TODO test */ +static inline void *libsimple_ecalloc(size_t __n, size_t __m) { return encalloc(libsimple_default_failure_exit, __n, __m); } /* TODO test */ +#ifndef ecalloc +# define ecalloc libsimple_ecalloc +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -static inline void *erealloc(void *__ptr, size_t __n) { return enrealloc(libsimple_default_failure_exit, __ptr, __n); } /* TODO test */ +static inline void *libsimple_erealloc(void *__ptr, size_t __n) { return enrealloc(libsimple_default_failure_exit, __ptr, __n); } /* TODO test */ +#ifndef erealloc +# define erealloc libsimple_erealloc +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((nonnull, __warn_unused_result__, __returns_nonnull__))) -static inline char *estrdup(const char *__s) { return enstrdup(libsimple_default_failure_exit, __s); } /* TODO test */ +static inline char *libsimple_estrdup(const char *__s) { return enstrdup(libsimple_default_failure_exit, __s); } /* TODO test */ +#ifndef estrdup +# define estrdup libsimple_estrdup +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((nonnull, __warn_unused_result__, __returns_nonnull__))) -static inline char *estrndup(const char *__s, size_t __n) { return enstrndup(libsimple_default_failure_exit, __s, __n); } /* TODO test */ +static inline char *libsimple_estrndup(const char *__s, size_t __n) { return enstrndup(libsimple_default_failure_exit, __s, __n); } /* TODO test */ +#ifndef estrndup +# define estrndup libsimple_estrndup +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) -static inline void *ememdup(const void *__s, size_t __n) { return enmemdup(libsimple_default_failure_exit, __s, __n); } /* TODO test */ - -#define emalloczn(CLEAR, ...) enmalloczn(libsimple_default_failure_exit, (CLEAR), __VA_ARGS__) /* TODO test */ -#define emallocn(...) enmallocn(libsimple_default_failure_exit, __VA_ARGS__) /* TODO test */ -#define ecallocn(...) encallocn(libsimple_default_failure_exit, __VA_ARGS__) /* TODO test */ -#define ereallocn(PTR, ...) enreallocn(libsimple_default_failure_exit, (PTR), __VA_ARGS__) /* TODO test */ +static inline void *libsimple_ememdup(const void *__s, size_t __n) { return enmemdup(libsimple_default_failure_exit, __s, __n); } /* TODO test */ +#ifndef ememdup +# define ememdup libsimple_ememdup +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void *libsimple_evmalloczn(int __clear, size_t __n, va_list __ap) /* TODO test */ { return libsimple_envmalloczn(libsimple_default_failure_exit, __clear, __n, __ap); } +#ifndef evmalloczn +# define evmalloczn libsimple_evmalloczn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void *libsimple_evmallocn(size_t __n, va_list __ap) /* TODO test */ { return libsimple_envcallocn(libsimple_default_failure_exit, __n, __ap); } +#ifndef evmallocn +# define evmallocn libsimple_evmallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void *libsimple_evcallocn(size_t __n, va_list __ap) /* TODO test */ { return libsimple_envmallocn(libsimple_default_failure_exit, __n, __ap); } +#ifndef evcallocn +# define evcallocn libsimple_evcallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void *libsimple_evreallocn(void *__ptr, size_t __n, va_list __ap) /* TODO test */ { return libsimple_envreallocn(libsimple_default_failure_exit, __ptr, __n, __ap); } +#ifndef evreallocn +# define evreallocn libsimple_evreallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -1060,6 +1140,9 @@ libsimple_emalloczn(int __c, size_t __n, ...) /* TODO test */ return libsimple_envmalloczn(libsimple_default_failure_exit, __c, __n, __ap); va_end(__ap); } +#ifndef emalloczn +# define emalloczn libsimple_emalloczn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -1070,6 +1153,9 @@ libsimple_emallocn(size_t __n, ...) /* TODO test */ return libsimple_envmalloczn(libsimple_default_failure_exit, 0, __n, __ap); va_end(__ap); } +#ifndef emallocn +# define emallocn libsimple_emallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -1080,6 +1166,9 @@ libsimple_ecallocn(size_t __n, ...) /* TODO test */ return libsimple_envmalloczn(libsimple_default_failure_exit, 1, __n, __ap); va_end(__ap); } +#ifndef ecallocn +# define ecallocn libsimple_ecallocn +#endif _LIBSIMPLE_GCC_ONLY(__attribute__((__warn_unused_result__, __returns_nonnull__))) static inline void * @@ -1090,6 +1179,9 @@ libsimple_ereallocn(void *__p, size_t __n, ...) /* TODO test */ return libsimple_envreallocn(libsimple_default_failure_exit, __p, __n, __ap); va_end(__ap); } +#ifndef ereallocn +# define ereallocn libsimple_ereallocn +#endif /** |