aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2013-01-15 16:28:02 -0500
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2013-10-15 16:51:58 +0100
commit00aa24ffee91d52488765088ea0f60748e2a2083 (patch)
tree876d5684694ddf09b6a3322ddf9d78772d51fdd7
parent51df6169091bfdc0b3f69b64683f11a13854803a (diff)
downloadffmpeg-00aa24ffee91d52488765088ea0f60748e2a2083.tar.gz
tableprint: Fix use of a size_t print with MSVC
%zu was introduced in C99, so MSVC has its own way to handle it, namely %Iu. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rw-r--r--libavcodec/tableprint.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/libavcodec/tableprint.h b/libavcodec/tableprint.h
index 1b39dc6ba1..26d063e387 100644
--- a/libavcodec/tableprint.h
+++ b/libavcodec/tableprint.h
@@ -71,10 +71,20 @@ void write_uint32_t_2d_array(const void *, int, int);
void write_float_2d_array (const void *, int, int);
/** @} */ // end of printfuncs group
+/*
+ * MSVC doesn't have %zu, since it was introduced in C99,
+ * but has its own %Iu for printing size_t values.
+ */
+#if defined(_MSC_VER)
+#define FMT "Iu"
+#else
+#define FMT "zu"
+#endif
+
#define WRITE_ARRAY(prefix, type, name) \
do { \
const size_t array_size = FF_ARRAY_ELEMS(name); \
- printf(prefix" "#type" "#name"[%zu] = {\n", \
+ printf(prefix" "#type" "#name"[%"FMT"] = {\n", \
array_size); \
write_##type##_array(name, array_size); \
printf("};\n"); \
@@ -84,7 +94,7 @@ void write_float_2d_array (const void *, int, int);
do { \
const size_t array_size1 = FF_ARRAY_ELEMS(name); \
const size_t array_size2 = FF_ARRAY_ELEMS(name[0]); \
- printf(prefix" "#type" "#name"[%zu][%zu] = {\n", \
+ printf(prefix" "#type" "#name"[%"FMT"][%"FMT"] = {\n", \
array_size1, array_size2 ); \
write_##type##_2d_array(name, array_size1, array_size2); \
printf("};\n"); \