summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/libiberty/concat.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/libiberty/concat.c')
-rw-r--r--contrib/binutils/libiberty/concat.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/contrib/binutils/libiberty/concat.c b/contrib/binutils/libiberty/concat.c
index 98b20e1..1f329ea 100644
--- a/contrib/binutils/libiberty/concat.c
+++ b/contrib/binutils/libiberty/concat.c
@@ -15,8 +15,8 @@ Library General Public License for more details.
You should have received a copy of the GNU Library General Public
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. */
+not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+Boston, MA 02110-1301, USA. */
/*
@@ -51,11 +51,7 @@ NOTES
#include "libiberty.h"
#include <sys/types.h> /* size_t */
-#ifdef ANSI_PROTOTYPES
#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
# if HAVE_STRING_H
# include <string.h>
@@ -69,11 +65,9 @@ NOTES
#include <stdlib.h>
#endif
-static inline unsigned long vconcat_length PARAMS ((const char *, va_list));
+static inline unsigned long vconcat_length (const char *, va_list);
static inline unsigned long
-vconcat_length (first, args)
- const char *first;
- va_list args;
+vconcat_length (const char *first, va_list args)
{
unsigned long length = 0;
const char *arg;
@@ -84,12 +78,8 @@ vconcat_length (first, args)
return length;
}
-static inline char *vconcat_copy PARAMS ((char *, const char *, va_list));
static inline char *
-vconcat_copy (dst, first, args)
- char *dst;
- const char *first;
- va_list args;
+vconcat_copy (char *dst, const char *first, va_list args)
{
char *end = dst;
const char *arg;
@@ -108,7 +98,7 @@ vconcat_copy (dst, first, args)
/* @undocumented concat_length */
unsigned long
-concat_length VPARAMS ((const char *first, ...))
+concat_length (const char *first, ...)
{
unsigned long length;
@@ -123,7 +113,7 @@ concat_length VPARAMS ((const char *first, ...))
/* @undocumented concat_copy */
char *
-concat_copy VPARAMS ((char *dst, const char *first, ...))
+concat_copy (char *dst, const char *first, ...)
{
char *save_dst;
@@ -137,12 +127,18 @@ concat_copy VPARAMS ((char *dst, const char *first, ...))
return save_dst;
}
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
char *libiberty_concat_ptr;
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
/* @undocumented concat_copy2 */
char *
-concat_copy2 VPARAMS ((const char *first, ...))
+concat_copy2 (const char *first, ...)
{
VA_OPEN (args, first);
VA_FIXEDARG (args, const char *, first);
@@ -153,14 +149,14 @@ concat_copy2 VPARAMS ((const char *first, ...))
}
char *
-concat VPARAMS ((const char *first, ...))
+concat (const char *first, ...)
{
char *newstr;
/* First compute the size of the result and get sufficient memory. */
VA_OPEN (args, first);
VA_FIXEDARG (args, const char *, first);
- newstr = (char *) xmalloc (vconcat_length (first, args) + 1);
+ newstr = XNEWVEC (char, vconcat_length (first, args) + 1);
VA_CLOSE (args);
/* Now copy the individual pieces to the result string. */
@@ -190,7 +186,7 @@ loop:
*/
char *
-reconcat VPARAMS ((char *optr, const char *first, ...))
+reconcat (char *optr, const char *first, ...)
{
char *newstr;
@@ -198,7 +194,7 @@ reconcat VPARAMS ((char *optr, const char *first, ...))
VA_OPEN (args, first);
VA_FIXEDARG (args, char *, optr);
VA_FIXEDARG (args, const char *, first);
- newstr = (char *) xmalloc (vconcat_length (first, args) + 1);
+ newstr = XNEWVEC (char, vconcat_length (first, args) + 1);
VA_CLOSE (args);
/* Now copy the individual pieces to the result string. */
@@ -221,7 +217,7 @@ reconcat VPARAMS ((char *optr, const char *first, ...))
#include <stdio.h>
int
-main ()
+main (void)
{
printf ("\"\" = \"%s\"\n", concat (NULLP));
printf ("\"a\" = \"%s\"\n", concat ("a", NULLP));
OpenPOWER on IntegriCloud