diff options
author | wm4 <wm4@nowhere> | 2016-08-20 14:41:12 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-08-20 14:41:12 +0200 |
commit | 969c0115220603b298ea31a2ebe4717ca966b0cc (patch) | |
tree | 3304dbeaa250d39042e2afbeb777d61dab7174e7 | |
parent | 1a8af89b7d09ad8a84410a3d8efe1a9f695cf9a7 (diff) | |
download | mpv-969c0115220603b298ea31a2ebe4717ca966b0cc.tar.bz2 mpv-969c0115220603b298ea31a2ebe4717ca966b0cc.tar.xz |
ta: add a helper macro
-rw-r--r-- | ta/ta.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -94,6 +94,9 @@ bool ta_vasprintf_append_buffer(char **str, const char *fmt, va_list ap) TA_PRF( #define ta_steal(ta_parent, ptr) (TA_TYPEOF(ptr))ta_steal_(ta_parent, ptr) +#define ta_dup_ptrtype(ta_parent, ptr) \ + (TA_TYPEOF(ptr))ta_memdup(ta_parent, ptr, sizeof(*(ptr))) + // Ugly macros that crash on OOM. // All of these mirror real functions (with a 'x' added after the 'ta_' // prefix), and the only difference is that they will call abort() on allocation @@ -121,6 +124,7 @@ bool ta_vasprintf_append_buffer(char **str, const char *fmt, va_list ap) TA_PRF( #define ta_xnew_array_size(...) ta_oom_p(ta_new_array_size(__VA_ARGS__)) #define ta_xnew_ptrtype(...) ta_oom_g(ta_new_ptrtype(__VA_ARGS__)) #define ta_xnew_array_ptrtype(...) ta_oom_g(ta_new_array_ptrtype(__VA_ARGS__)) +#define ta_xdup_ptrtype(...) ta_oom_g(ta_dup_ptrtype(__VA_ARGS__)) #define ta_xsteal(ta_parent, ptr) (TA_TYPEOF(ptr))ta_xsteal_(ta_parent, ptr) #define ta_xrealloc(ta_parent, ptr, type, count) \ |