On Sat, Jan 12, 2013 at 07:57:09PM -0500, Derek Buitenhuis wrote:
>
> --- a/libavcodec/tableprint.h
> +++ b/libavcodec/tableprint.h
> @@ -71,20 +71,32 @@ void write_uint32_t_2d_array(const void *, int, int);
>
> -#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"); \
Something along the lines of
#if defined(_MSC_VER)
#define FMT %Iu
#else
#define FMT %zu
#endif
and replacing %zu by FMT below seems simpler. Or is there something
I am missing?
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel