summaryrefslogtreecommitdiff
path: root/libiberty/concat.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2001-08-27 19:10:39 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2001-08-27 19:10:39 +0000
commite2dff3f2f6bbc434bf9ae0ad1701594fb24d85cf (patch)
treed23e7ce6ba6bad4bc0e3bcf6fa3f63d9e2844c33 /libiberty/concat.c
parent67a44b16b1678e2f3bda0db7127e99dace8399fb (diff)
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/concat.c')
-rw-r--r--libiberty/concat.c35
1 files changed, 8 insertions, 27 deletions
diff --git a/libiberty/concat.c b/libiberty/concat.c
index 01270eadcf2..2e31e833f4d 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;
}