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

Reply via email to