diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-21 20:08:36 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-21 20:08:36 +0000 |
commit | bb37062f41610518ad294049736488e122906ea6 (patch) | |
tree | 9c6b2d3c7e513a58a41d0e61372b5492764fb4e3 /libiberty/vasprintf.c | |
parent | b37aff25e4769531da28908e404de60423705b45 (diff) | |
download | gcc-bb37062f41610518ad294049736488e122906ea6.tar.gz |
Warning fixes:
* cp-demangle.c (cp_demangle_type): Wrap in IN_LIBGCC2.
* setenv.c (setenv): Initialize variable `ep'.
* sigsetmask.c (abort): Prototype.
* vasprintf.c: Include config.h. Check ANSI_PROTOTYPES, not
__STDC__ for stdarg.h include.
(int_vasprintf): Prototype.
(checkit): Prototype. Use VPARAMS/ANSI_PROTOTYPES/VA_START in
definition. Cast `global_total_width' in comparison.
(main): Prototype. Return a value.
* vfork.c (fork): Prototype.
* xexit.c: Include config.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35178 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/vasprintf.c')
-rw-r--r-- | libiberty/vasprintf.c | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/libiberty/vasprintf.c b/libiberty/vasprintf.c index b959f5f9ca5..c34585d0498 100644 --- a/libiberty/vasprintf.c +++ b/libiberty/vasprintf.c @@ -18,21 +18,31 @@ License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef __STDC__ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include <ansidecl.h> +#ifdef ANSI_PROTOTYPES #include <stdarg.h> #else #include <varargs.h> #endif #include <stdio.h> #include <string.h> -#include <ansidecl.h> +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#else +extern unsigned long strtoul (); +extern PTR malloc (); +#endif +#include "libiberty.h" #ifdef TEST int global_total_width; #endif -unsigned long strtoul (); -char *malloc (); + +static int int_vasprintf PARAMS ((char **, const char *, va_list *)); static int int_vasprintf (result, format, args) @@ -60,7 +70,7 @@ int_vasprintf (result, format, args) total_width += abs (va_arg (ap, int)); } else - total_width += strtoul (p, &p, 10); + total_width += strtoul (p, (char **) &p, 10); if (*p == '.') { ++p; @@ -70,7 +80,7 @@ int_vasprintf (result, format, args) total_width += abs (va_arg (ap, int)); } else - total_width += strtoul (p, &p, 10); + total_width += strtoul (p, (char **) &p, 10); } while (strchr ("hlL", *p)) ++p; @@ -132,33 +142,33 @@ vasprintf (result, format, args) } #ifdef TEST -void -checkit -#ifdef __STDC__ - (const char* format, ...) -#else - (va_alist) - va_dcl -#endif +static void checkit PARAMS ((const char *, ...)); + +static void +checkit VPARAMS ((const char* format, ...)) { va_list args; char *result; +#ifndef ANSI_PROTOTYPES + const char *format; +#endif -#ifdef __STDC__ - va_start (args, format); -#else - char *format; - va_start (args); - format = va_arg (args, char *); + VA_START (args, format); + +#ifndef ANSI_PROTOTYPES + format = va_arg (args, const char *); #endif + vasprintf (&result, format, args); - if (strlen (result) < global_total_width) + if (strlen (result) < (size_t) global_total_width) printf ("PASS: "); else printf ("FAIL: "); printf ("%d %s\n", global_total_width, result); } +extern int main PARAMS ((void)); + int main () { @@ -169,5 +179,7 @@ main () checkit ("%s", "jjjjjjjjjiiiiiiiiiiiiiiioooooooooooooooooppppppppppppaa\n\ 777777777777777777333333333333366666666666622222222222777777777777733333"); checkit ("%f%s%d%s", 1.0, "foo", 77, "asdjffffffffffffffiiiiiiiiiiixxxxx"); + + return 0; } #endif /* TEST */ |