From 225970f1bea3e66cdde3d8a1b8277211ea1cff00 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 25 Mar 2003 17:35:15 +0000 Subject: [PATCH] fixed build errors --- src/libCom/osi/os/WIN32/epicsStdio.c | 33 ++++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/libCom/osi/os/WIN32/epicsStdio.c b/src/libCom/osi/os/WIN32/epicsStdio.c index c57ca0b79..f860e1ec4 100644 --- a/src/libCom/osi/os/WIN32/epicsStdio.c +++ b/src/libCom/osi/os/WIN32/epicsStdio.c @@ -19,30 +19,35 @@ extern "C" { #define epicsExportSharedSymbols #include "epicsStdio.h" -int epicsShareAPI epicsVsnprintf( - char *str, size_t size, const char *format, va_list ap) +int epicsShareAPI epicsVsnprintf ( + char * str, size_t size, const char *format, va_list ap ) { int rtn; - rtn = _vsnprintf(str,size,format,ap); - if(rtn>=0 && rtn= 0 ) { + size_t sizeReturned = (size_t) rtn; + if ( sizeReturned < size ) { + return rtn; + } } - return(rtn); + if ( rtn == -1 ) { + str[size-1] = 0; + return (int) size; + } + return rtn; } -int epicsShareAPI epicsSnprintf( - char *str, size_t size, const char *format, ...) +int epicsShareAPI epicsSnprintf ( + char *str, size_t size, const char *pFormat, ... ) { int rtn; va_list pvar; - va_start(pvar, pFormat); - rtn = epicsVsnprintf(str,size,format,pvar); - va_end(pvar) - return(rtn); + va_start ( pvar, pFormat ); + rtn = epicsVsnprintf ( str, size, pFormat, pvar ); + va_end ( pvar ); + return ( rtn ); } #ifdef __cplusplus