From d3957d5000bd16eb57863c83e16e95b604218026 Mon Sep 17 00:00:00 2001 From: Jean-Damien Durand <jdurand@cern.ch> Date: Tue, 4 Nov 2003 13:02:35 +0000 Subject: [PATCH] Wrappers to snprintf() and vsnprintf() --- mediachanger/castorrmc/common/Csnprintf.c | 35 +++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 mediachanger/castorrmc/common/Csnprintf.c diff --git a/mediachanger/castorrmc/common/Csnprintf.c b/mediachanger/castorrmc/common/Csnprintf.c new file mode 100644 index 0000000000..1b095f55b4 --- /dev/null +++ b/mediachanger/castorrmc/common/Csnprintf.c @@ -0,0 +1,35 @@ +/* + * $Id: Csnprintf.c,v 1.1 2003/11/04 13:02:35 jdurand Exp $ + */ + +#include "Csnprintf.h" + +/* Hide the snprintf and al. call v.s. different OS. */ +/* Sometimes a different name, sometimes do not exist */ + +int DLL_DECL Csnprintf(char *str, size_t size, char *format, ...) { + int rc; + va_list args; + + va_start (args, format); + /* Note: we cannot call sprintf again, because a va_list is a real */ + /* parameter on its own - it cannot be changed to a real list of */ + /* parameters on the stack without being not portable */ + rc = Cvsnprintf(str,size,format,args); + va_end (args); + return(rc); +} + +int DLL_DECL Cvsnprintf(char *str, size_t size, char *format, va_list args) +{ +#if (defined(__osf__) && defined(__alpha)) + return(vsprintf(str, format, args)); +#else +#if defined(_WIN32) + return(_vsnprintf(str, size, format, args)); +#else + return(vsnprintf(str, size, format, args)); +#endif +#endif +} + -- GitLab