- Code aufgeraeumt, Tests auf C99-vsnprintf() entfernt (fuer ngIRCd unnoetig).

This commit is contained in:
Alexander Barton 2002-05-19 10:44:52 +00:00
parent 31a3bfed54
commit c5461c4596
1 changed files with 36 additions and 62 deletions

View File

@ -9,9 +9,9 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: vsnprintf.c,v 1.1 2002/05/19 01:17:40 alex Exp $ * $Id: vsnprintf.c,v 1.2 2002/05/19 10:44:52 alex Exp $
* *
* vsnprintf.c: vsnprintf()-Ersatz * vsnprintf.c: u.a. Ersatz fuer vsnprintf()
*/ */
@ -65,13 +65,16 @@
* missing. Some systems only have snprintf() but not vsnprintf(), so * missing. Some systems only have snprintf() but not vsnprintf(), so
* the code is now broken down under HAVE_SNPRINTF and HAVE_VSNPRINTF. * the code is now broken down under HAVE_SNPRINTF and HAVE_VSNPRINTF.
* *
* Andrew Tridgell (tridge@samba.org) Oct 1998 * Andrew Tridgell <tridge@samba.org>, October 1998
* fixed handling of %.0f * fixed handling of %.0f
* added test for HAVE_LONG_DOUBLE * added test for HAVE_LONG_DOUBLE
* *
* tridge@samba.org, idra@samba.org, April 2001 * tridge@samba.org, idra@samba.org, April 2001
* got rid of fcvt code (twas buggy and made testing harder) * got rid of fcvt code (twas buggy and made testing harder)
* added C99 semantics * added C99 semantics
*
* Alexander Barton, <alex@barton.de>, 2002-05-19
* removed [v]asprintf() and C99 tests: not needed by ngIRCd.
*/ */
@ -90,7 +93,8 @@
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) && defined(HAVE_C99_VSNPRINTF)
#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF)
/* only include stdio.h if we are not re-defining snprintf or vsnprintf */ /* only include stdio.h if we are not re-defining snprintf or vsnprintf */
#include <stdio.h> #include <stdio.h>
/* make the compiler happy with an empty file */ /* make the compiler happy with an empty file */
@ -763,14 +767,14 @@ static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c)
(*currlen)++; (*currlen)++;
} }
#if !defined(HAVE_VSNPRINTF) || !defined(HAVE_C99_VSNPRINTF) #if !defined(HAVE_VSNPRINTF)
int vsnprintf (char *str, size_t count, const char *fmt, va_list args) int vsnprintf (char *str, size_t count, const char *fmt, va_list args)
{ {
return dopr(str, count, fmt, args); return dopr(str, count, fmt, args);
} }
#endif #endif
#if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF) #if !defined(HAVE_SNPRINTF)
int snprintf(char *str,size_t count,const char *fmt,...) int snprintf(char *str,size_t count,const char *fmt,...)
{ {
size_t ret; size_t ret;
@ -785,36 +789,6 @@ static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c)
#endif #endif
#ifndef HAVE_VASPRINTF
int vasprintf(char **ptr, const char *format, va_list ap)
{
int ret;
ret = vsnprintf(NULL, 0, format, ap);
if (ret <= 0) return ret;
(*ptr) = (char *)malloc(ret+1);
if (!*ptr) return -1;
ret = vsnprintf(*ptr, ret+1, format, ap);
return ret;
}
#endif
#ifndef HAVE_ASPRINTF
int asprintf(char **ptr, const char *format, ...)
{
va_list ap;
int ret;
va_start(ap, format);
ret = vasprintf(ptr, format, ap);
va_end(ap);
return ret;
}
#endif
#ifdef TEST_SNPRINTF #ifdef TEST_SNPRINTF
int sprintf(char *str,const char *fmt,...); int sprintf(char *str,const char *fmt,...);