avutil/internal: add FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTO
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 18 Apr 2014 13:25:00 +0000 (15:25 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 22 Apr 2014 00:09:55 +0000 (02:09 +0200)
These are similar to the existing FF_ALLOCZ_OR_GOTO & FF_ALLOC_OR_GOTO

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/internal.h

index 9c5546f..c6c0aa8 100644 (file)
     }\
 }
 
+#define FF_ALLOC_ARRAY_OR_GOTO(ctx, p, nelem, elsize, label)\
+{\
+    p = av_malloc_array(nelem, elsize);\
+    if (p == NULL) {\
+        av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\
+        goto label;\
+    }\
+}
+
+#define FF_ALLOCZ_ARRAY_OR_GOTO(ctx, p, nelem, elsize, label)\
+{\
+    p = av_mallocz_array(nelem, elsize);\
+    if (p == NULL) {\
+        av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\
+        goto label;\
+    }\
+}
+
 #include "libm.h"
 
 #if defined(_MSC_VER)