On Fri, Sep 7, 2018 at 5:38 AM Ian Romanick <i...@freedesktop.org> wrote:

> It seems like it might better to just replace all the calllers of
> _mesa_*printf with util_*printf.
>

Thanks. Yes you're right. I am going to rework it today.


> On 09/06/2018 07:43 AM, asimiklit.w...@gmail.com wrote:
> > From: Andrii Simiklit <andrii.simik...@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.
> >
> > So use cross platform implementation 'util_vsnprintf'.
> >
> > Fixes: 2353e96c320d "Coerce vsnprintf to _vsnprintf for windows"
> > Signed-off-by: Andrii Simiklit <andrii.simik...@globallogic.com>
> > ---
> >  src/mesa/main/imports.c | 11 +++++------
> >  1 file changed, 5 insertions(+), 6 deletions(-)
> >
> > diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
> > index b4685b6..d42825e 100644
> > --- a/src/mesa/main/imports.c
> > +++ b/src/mesa/main/imports.c
> > @@ -46,6 +46,7 @@
> >  #include <stdarg.h>
> >  #include "c99_math.h"
> >  #include "util/rounding.h" /* for _mesa_roundeven */
> > +#include "util/u_string.h"
> >  #include "imports.h"
> >  #include "context.h"
> >  #include "version.h"
> > @@ -58,9 +59,7 @@
> >  #endif
> >
> >
> > -#ifdef _WIN32
> > -#define vsnprintf _vsnprintf
> > -#elif defined(__IBMC__) || defined(__IBMCPP__)
> > +#if defined(__IBMC__) || defined(__IBMCPP__)
> >  extern int vsnprintf(char *str, size_t count, const char *fmt, va_list
> arg);
> >  #endif
> >
> > @@ -255,7 +254,7 @@ _mesa_bitcount_64(uint64_t n)
> >  int
> >  _mesa_vsnprintf(char *str, size_t size, const char *fmt, va_list args)
> >  {
> > -   return vsnprintf( str, size, fmt, args);
> > +   return util_vsnprintf( str, size, fmt, args);
> >  }
> >
> >  /** Wrapper around vsnprintf() */
> > @@ -264,8 +263,8 @@ _mesa_snprintf( char *str, size_t size, const char
> *fmt, ... )
> >  {
> >     int r;
> >     va_list args;
> > -   va_start( args, fmt );
> > -   r = vsnprintf( str, size, fmt, args );
> > +   va_start( args, fmt );
> > +   r = util_vsnprintf( str, size, fmt, args );
> >     va_end( args );
> >     return r;
> >  }
> >
>
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to