diff --git a/src/configure.in b/src/configure.in index 4bfd0f47a501423977e6cca96918dcec02b398f3..24a12286f0ed095d6a372c27615b738a48230df5 100644 --- a/src/configure.in +++ b/src/configure.in @@ -4557,7 +4557,6 @@ AC_CHECK_FUNCS( \ strerror \ times \ tzset \ - vsprintf \ _snprintf \ snprintf \ vsnprintf \ diff --git a/src/port.c b/src/port.c index 16308899fdb230423c7097ccb2650840f2a6ef84..02cd4129ba48b96f9f06dcb8766e5da549a09506 100644 --- a/src/port.c +++ b/src/port.c @@ -262,78 +262,6 @@ PMOD_EXPORT int STRCASECMP(const char *a,const char *b) } #endif -#ifndef HAVE_VSPRINTF -PMOD_EXPORT int VSPRINTF(char *buf,const char *fmt,va_list args) -{ - char *b=buf; - char *s; - - int tmpA; - char fmt2[120]; - char *fmt2p; - - fmt2[0]='%'; - for(;(s=strchr(fmt,'%'));fmt=s) - { - memcpy(buf,fmt,s-fmt); - buf+=s-fmt; - fmt=s; - fmt2p=fmt2+1; - s++; - unknown_character: - switch((*(fmt2p++)=*(s++))) - { - default: - goto unknown_character; - - case '*': - fmt2p--; - sprintf(fmt2p,"%d",va_arg(args,int)); - fmt2p+=strlen(fmt2p); - goto unknown_character; - - case 0: - Pike_fatal("Error in vsprintf format.\n"); - return 0; - - case '%': - *(buf++)='%'; - break; - - case 'p': - case 's': - *fmt2p=0; - sprintf(buf,fmt2,va_arg(args,char *)); - buf+=strlen(buf); - break; - - case 'd': - case 'c': - case 'x': - case 'X': - *fmt2p=0; - sprintf(buf,fmt2,va_arg(args,int)); - buf+=strlen(buf); - break; - - case 'f': - case 'e': - case 'E': - case 'g': - *fmt2p=0; - sprintf(buf,fmt2,va_arg(args,double)); - buf+=strlen(buf); - break; - } - } - tmpA=strlen(fmt); - memcpy(buf,fmt,tmpA); - buf+=tmpA; - *buf=0; - return buf-b; -} -#endif - #ifndef HAVE_VSNPRINTF /* Warning: It's possible to trick this with something like * snprintf("...%c...", 0). */ @@ -344,8 +272,8 @@ PMOD_EXPORT int VSNPRINTF(char *buf, size_t size, const char *fmt, va_list args) buf = alloca(size=1000); } buf[size - 1] = 0; - res = VSPRINTF (buf, fmt, args); - if (buf[size - 1]) Pike_fatal ("Buffer overflow in VSPRINTF.\n"); + res = vsprintf (buf, fmt, args); + if (buf[size - 1]) Pike_fatal ("Buffer overflow in vsprintf.\n"); return res; } #endif diff --git a/src/port.h b/src/port.h index 3f286a4f68c57e33a6d6a69740e271011942597e..1029e03e4ac9fde5fab5e6c34bd740a7dafdb816 100644 --- a/src/port.h +++ b/src/port.h @@ -194,11 +194,8 @@ char *strchr(const char *s,int c); #define HAVE_VFPRINTF 1 #define VFPRINTF vfprintf -#ifndef HAVE_VSPRINTF -PMOD_EXPORT int VSPRINTF(char *buf,const char *fmt,va_list args); -#else -# define VSPRINTF vsprintf -#endif +#define HAVE_VSPRINTF 1 +#define VSPRINTF vsprintf #ifndef HAVE_VSNPRINTF PMOD_EXPORT int VSNPRINTF(char *buf, size_t size, const char *fmt, va_list args);