diff --git a/src/xpdev/genwrap.c b/src/xpdev/genwrap.c index 8754217b9dcaa10356397544d913db24d7b5c8a8..de51c0afac76c6f56229300fe8375e49cd249af5 100644 --- a/src/xpdev/genwrap.c +++ b/src/xpdev/genwrap.c @@ -75,9 +75,13 @@ int DLLCALL safe_snprintf(char *dst, size_t size, const char *fmt, ...) va_start(argptr,fmt); numchars= vsnprintf(dst,size,fmt,argptr); va_end(argptr); + dst[size-1]=0; +#ifdef _MSC_VER + if(numchars==-1) + nuchars=strlen(dst); +#endif if(numchars>=size && numchars>0) numchars=size-1; - dst[size-1]=0; return(numchars); }