summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-04-28 13:49:34 +0000
committerAndrew Tridgell <tridge@samba.org>2001-04-28 13:49:34 +0000
commitd095b5249cf9e1496ad5a3d6b5acb77af2c587a7 (patch)
treecc944131907e5244c9f72c80adb6e478ed36bbb8 /source3/lib
parent944aeb7de472e0654561f7d8f37a5703487a973e (diff)
downloadsamba-d095b5249cf9e1496ad5a3d6b5acb77af2c587a7.tar.gz
samba-d095b5249cf9e1496ad5a3d6b5acb77af2c587a7.tar.bz2
samba-d095b5249cf9e1496ad5a3d6b5acb77af2c587a7.zip
- added test for vasprintf
- cleaned up GNUC printf attribute macros - added enum handling in mkproto - removed non-vararg code - made slprintf and vslprintf just macros for snprintf and vsnprintf - don't need slprintf code any more (This used to be commit c7aeb2254dfc3cd0aa0b6c0bdd426f9323be0ddf)
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/debug.c42
-rw-r--r--source3/lib/slprintf.c71
-rw-r--r--source3/lib/snprintf.c26
3 files changed, 17 insertions, 122 deletions
diff --git a/source3/lib/debug.c b/source3/lib/debug.c
index dc846f1b6f..f7ad324e39 100644
--- a/source3/lib/debug.c
+++ b/source3/lib/debug.c
@@ -450,26 +450,14 @@ void check_log_size( void )
* This is called by dbghdr() and format_debug_text().
* ************************************************************************** **
*/
-#ifdef HAVE_STDARG_H
int Debug1( char *format_str, ... )
{
-#else
- int Debug1(va_alist)
-va_dcl
-{
- char *format_str;
-#endif
va_list ap;
int old_errno = errno;
if( stdout_logging )
{
-#ifdef HAVE_STDARG_H
va_start( ap, format_str );
-#else
- va_start( ap );
- format_str = va_arg( ap, char * );
-#endif
if(dbf)
(void)vfprintf( dbf, format_str, ap );
va_end( ap );
@@ -524,12 +512,7 @@ va_dcl
else
priority = priority_map[syslog_level];
-#ifdef HAVE_STDARG_H
va_start( ap, format_str );
-#else
- va_start( ap );
- format_str = va_arg( ap, char * );
-#endif
vslprintf( msgbuf, sizeof(msgbuf)-1, format_str, ap );
va_end( ap );
@@ -544,12 +527,7 @@ va_dcl
if( !lp_syslog_only() )
#endif
{
-#ifdef HAVE_STDARG_H
va_start( ap, format_str );
-#else
- va_start( ap );
- format_str = va_arg( ap, char * );
-#endif
if(dbf)
(void)vfprintf( dbf, format_str, ap );
va_end( ap );
@@ -740,7 +718,6 @@ BOOL dbghdr( int level, char *file, char *func, int line )
*
* ************************************************************************** **
*/
-#ifdef HAVE_STDARG_H
BOOL dbgtext( char *format_str, ... )
{
va_list ap;
@@ -755,24 +732,5 @@ BOOL dbghdr( int level, char *file, char *func, int line )
return( True );
} /* dbgtext */
-#else
- BOOL dbgtext( va_alist )
- va_dcl
- {
- char *format_str;
- va_list ap;
- pstring msgbuf;
-
- va_start( ap );
- format_str = va_arg( ap, char * );
- vslprintf( msgbuf, sizeof(msgbuf)-1, format_str, ap );
- va_end( ap );
-
- format_debug_text( msgbuf );
-
- return( True );
- } /* dbgtext */
-
-#endif
/* ************************************************************************** */
diff --git a/source3/lib/slprintf.c b/source3/lib/slprintf.c
index be81b4aa12..2a72fcffc3 100644
--- a/source3/lib/slprintf.c
+++ b/source3/lib/slprintf.c
@@ -22,74 +22,3 @@
#include "includes.h"
extern int DEBUGLEVEL;
-
-
-/* this is like vsnprintf but the 'n' limit does not include
- the terminating null. So if you have a 1024 byte buffer then
- pass 1023 for n */
-int vslprintf(char *str, int n, char *format, va_list ap)
-{
- int ret = vsnprintf(str, n, format, ap);
- if (ret > n || ret < 0) {
- str[n] = 0;
- return -1;
- }
- str[ret] = 0;
- return ret;
-}
-
-#ifdef HAVE_STDARG_H
- int slprintf(char *str, int n, char *format, ...)
-{
-#else
- int slprintf(va_alist)
-va_dcl
-{
- char *str, *format;
- int n;
-#endif
- va_list ap;
- int ret;
-
-#ifdef HAVE_STDARG_H
- va_start(ap, format);
-#else
- va_start(ap);
- str = va_arg(ap,char *);
- n = va_arg(ap,int);
- format = va_arg(ap,char *);
-#endif
-
- ret = vslprintf(str,n,format,ap);
- va_end(ap);
- return ret;
-}
-
- /* this is rather line fprintf, except that it works on a file descriptor
- and is limited to one pstring of output */
-#ifdef HAVE_STDARG_H
- int fdprintf(int fd, char *format, ...)
-{
-#else
- int fdprintf(va_alist)
-va_dcl
-{
- int fd;
- char *format;
-#endif
- va_list ap;
- pstring str;
-
-#ifdef HAVE_STDARG_H
- va_start(ap, format);
-#else
- va_start(ap);
- fd = va_arg(ap,int);
- format = va_arg(ap,char *);
-#endif
- str[0] = 0;
-
- vslprintf(str,sizeof(str),format,ap);
- va_end(ap);
- return write(fd, str, strlen(str));
-}
diff --git a/source3/lib/snprintf.c b/source3/lib/snprintf.c
index ce7c4a68f5..3edb50c6ad 100644
--- a/source3/lib/snprintf.c
+++ b/source3/lib/snprintf.c
@@ -735,23 +735,31 @@ static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c)
#endif
-
-#ifndef HAVE_ASPRINTF
- int asprintf(char **ptr, const char *format, ...)
+#ifndef HAVE_VASPRINTF
+ int vasprintf(char **ptr, const char *format, va_list ap)
{
- va_list ap;
int ret;
- va_start(ap, format);
ret = vsnprintf(NULL, 0, format, ap);
- va_end(ap);
-
if (ret <= 0) return ret;
-
- va_start(ap, format);
+
(*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;