%zu was introduced in C99, so MSVC has its own way to handle it, namely %Iu.
Signed-off-by: Derek Buitenhuis <[email protected]> --- libavcodec/tableprint.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/libavcodec/tableprint.h b/libavcodec/tableprint.h index 81bb9af..ee13676 100644 --- a/libavcodec/tableprint.h +++ b/libavcodec/tableprint.h @@ -71,20 +71,32 @@ void write_uint32_t_2d_array(const void *, int, int); void write_float_2d_array (const void *, int, int); /** @} */ // end of printfuncs group -#define WRITE_ARRAY(prefix, type, name) \ +#if defined(_MSC_VER) +#define WRITE_ARRAY(prefix, type, name) \ + WRITE_ARRAY_REAL(prefix, type, name, Iu) +#define WRITE_2D_ARRAY(prefix, type, name) \ + WRITE_2D_ARRAY_REAL(prefix, type, name, Iu) +#else +#define WRITE_ARRAY(prefix, type, name) \ + WRITE_ARRAY_REAL(prefix, type, name, zu) +#define WRITE_2D_ARRAY(prefix, type, name) \ + WRITE_2D_ARRAY_REAL(prefix, type, name, zu) +#endif + +#define WRITE_ARRAY_REAL(prefix, type, name, fmt) \ 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"); \ } while(0) -#define WRITE_2D_ARRAY(prefix, type, name) \ +#define WRITE_2D_ARRAY_REAL(prefix, type, name, fmt) \ 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"); \ -- 1.7.10.4 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
