diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-04-28 13:49:34 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-04-28 13:49:34 +0000 |
commit | d095b5249cf9e1496ad5a3d6b5acb77af2c587a7 (patch) | |
tree | cc944131907e5244c9f72c80adb6e478ed36bbb8 /source3/lib/snprintf.c | |
parent | 944aeb7de472e0654561f7d8f37a5703487a973e (diff) | |
download | samba-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/snprintf.c')
-rw-r--r-- | source3/lib/snprintf.c | 26 |
1 files changed, 17 insertions, 9 deletions
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; |