[Mesa-dev] [PATCH v5 5/8] mesa/main: don't use win _vsnprintf. there is 'util_vsnprintf' function
Emil Velikov
emil.l.velikov at gmail.com
Thu Sep 20 08:56:26 UTC 2018
Hi Andrii,
On 7 September 2018 at 13:15, <asimiklit.work at gmail.com> wrote:
> From: Andrii Simiklit <andrii.simiklit at globallogic.com>
>
> The win '_vsnprintf' function incompatibility with C99 vsnprintf.
> At least for case when the input buffer size less than the required size:
> '_vsnprintf' returns -1 for this case.
> 'vsnprintf' returns the required size.
>
> v5: remove _mesa_*snprintf functions and replace it by util_*snprintf
>
> So use cross platform implementation 'util_vsnprintf'.
>
> Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
> Fixes: 2353e96c320d "Coerce vsnprintf to _vsnprintf for windows"
> Signed-off-by: Andrii Simiklit <andrii.simiklit at globallogic.com>
>
A couple of trivial follow-up ideas. Just putting them out here - for
anyone interested to take a stab.
> +#if defined(__IBMC__) || defined(__IBMCPP__)
> +extern int vsnprintf(char *str, size_t count, const char *fmt, va_list arg);
> +#endif
> +
This and the similar workaround for Cygwin could be dropped.
The fact that we had them in only one place (of 10+) indicates that
they are no longer needed.
> #define util_vsnprintf vsnprintf
> #define util_snprintf snprintf
> #define util_vsprintf vsprintf
Jose has bumped the MSVC requirement to 2015, which has proper
implementation of some *printf functions.
One could skim through the MSDN pages and drop the workarounds we no
longer need.
HTH
Emil
More information about the mesa-dev
mailing list