diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2001-08-27 19:10:39 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2001-08-27 19:10:39 +0000 |
commit | e2dff3f2f6bbc434bf9ae0ad1701594fb24d85cf (patch) | |
tree | d23e7ce6ba6bad4bc0e3bcf6fa3f63d9e2844c33 /libiberty | |
parent | 67a44b16b1678e2f3bda0db7127e99dace8399fb (diff) | |
download | gcc-e2dff3f2f6bbc434bf9ae0ad1701594fb24d85cf.zip gcc-e2dff3f2f6bbc434bf9ae0ad1701594fb24d85cf.tar.gz gcc-e2dff3f2f6bbc434bf9ae0ad1701594fb24d85cf.tar.bz2 |
ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
include:
* ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
libiberty:
* concat.c (concat): Use VPARAMS, VA_OPEN, VA_FIXEDARG & VA_CLOSE.
From-SVN: r45204
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 4 | ||||
-rw-r--r-- | libiberty/concat.c | 35 |
2 files changed, 12 insertions, 27 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index f6c1f79..0b3ed2e 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2001-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * concat.c (concat): Use VPARAMS, VA_OPEN, VA_FIXEDARG & VA_CLOSE. + 2001-08-23 Ulrich Drepper <drepper@redhat.com> * regex.c (truncate_wchar): Use wcrtomb not wctomb. diff --git a/libiberty/concat.c b/libiberty/concat.c index 01270ead..2e31e83 100644 --- a/libiberty/concat.c +++ b/libiberty/concat.c @@ -74,48 +74,29 @@ NOTES # endif # endif -/* VARARGS */ -#ifdef ANSI_PROTOTYPES -char * -concat (const char *first, ...) -#else char * -concat (va_alist) - va_dcl -#endif +concat VPARAMS ((const char *first, ...)) { register size_t length; register char *newstr; register char *end; register const char *arg; - va_list args; -#ifndef ANSI_PROTOTYPES - const char *first; -#endif /* First compute the size of the result and get sufficient memory. */ -#ifdef ANSI_PROTOTYPES - va_start (args, first); -#else - va_start (args); - first = va_arg (args, const char *); -#endif - + VA_OPEN (args, first); + VA_FIXEDARG (args, const char *, first); + length = 0; for (arg = first; arg ; arg = va_arg (args, const char *)) length += strlen (arg); - va_end (args); + VA_CLOSE (args); newstr = (char *) xmalloc (length + 1); /* Now copy the individual pieces to the result string. */ -#ifdef ANSI_PROTOTYPES - va_start (args, first); -#else - va_start (args); - first = va_arg (args, const char *); -#endif + VA_OPEN (args, first); + VA_FIXEDARG (args, const char *, first); end = newstr; for (arg = first; arg ; arg = va_arg (args, const char *)) @@ -125,7 +106,7 @@ concat (va_alist) end += length; } *end = '\000'; - va_end (args); + VA_CLOSE (args); return newstr; } |