aboutsummaryrefslogtreecommitdiff
path: root/libiberty/concat.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2001-10-15 22:50:13 -0400
committerDJ Delorie <dj@gcc.gnu.org>2001-10-15 22:50:13 -0400
commitaac04c15d761628889f138b16219bce27f25bbb2 (patch)
tree58903ff3e4335306b7c9f5c24e8baf3b9a9922a8 /libiberty/concat.c
parent2d4368e6cd739fadc7e3cc1111f30f2941e8a8a3 (diff)
downloadgcc-aac04c15d761628889f138b16219bce27f25bbb2.zip
gcc-aac04c15d761628889f138b16219bce27f25bbb2.tar.gz
gcc-aac04c15d761628889f138b16219bce27f25bbb2.tar.bz2
Makefile.in (TEXIFILES): Add fnmatch.txh.
* Makefile.in (TEXIFILES): Add fnmatch.txh. (maint-undoc): New. maint-tool: Add "undoc" tool. * alloca.c, argv.c, asprintf.c, choose-temp.c, concat.c, fdmatch.c, ffs.c, getruntime.c, insque.c, lbasename.c, make-temp-file.c, mkstemps.c, pexecute.c, random.c, spaces.c, strerror.s, strsignal.c, strtol.c, vasprintf.c: Add or update documentation. * fnmatch.txh: New. * functions.texi: Regenerate. From-SVN: r46274
Diffstat (limited to 'libiberty/concat.c')
-rw-r--r--libiberty/concat.c46
1 files changed, 30 insertions, 16 deletions
diff --git a/libiberty/concat.c b/libiberty/concat.c
index fbbf2ee..a7e6428 100644
--- a/libiberty/concat.c
+++ b/libiberty/concat.c
@@ -21,24 +21,14 @@ Boston, MA 02111-1307, USA. */
/*
-NAME
+@deftypefn Extension char* concat (char *@var{s1}, char *@var{s2}, ..., @code{NULL})
- concat -- concatenate a variable number of strings
+Concatenate zero or more of strings and return the result in freshly
+xmalloc'd memory. Returns @code{NULL} if insufficient memory is
+available. The argument list is terminated by the first @code{NULL}
+pointer encountered. Pointers to empty strings are ignored.
-SYNOPSIS
-
- #include <varargs.h>
-
- char *concat (s1, s2, s3, ..., NULL)
-
-DESCRIPTION
-
- Concatenate a variable number of strings and return the result
- in freshly malloc'd memory.
-
- Returns NULL if insufficient memory is available. The argument
- list is terminated by the first NULL pointer encountered. Pointers
- to empty strings are ignored.
+@end deftypefn
NOTES
@@ -50,6 +40,7 @@ NOTES
deal with low memory situations itself, it should supply an xmalloc
that just directly invokes malloc and blindly returns whatever
malloc returns.
+
*/
@@ -114,6 +105,8 @@ vconcat_copy (dst, first, args)
return dst;
}
+/* @undocumented concat_length */
+
unsigned long
concat_length VPARAMS ((const char *first, ...))
{
@@ -127,6 +120,8 @@ concat_length VPARAMS ((const char *first, ...))
return length;
}
+/* @undocumented concat_copy */
+
char *
concat_copy VPARAMS ((char *dst, const char *first, ...))
{
@@ -144,6 +139,8 @@ concat_copy VPARAMS ((char *dst, const char *first, ...))
char *libiberty_concat_ptr;
+/* @undocumented concat_copy2 */
+
char *
concat_copy2 VPARAMS ((const char *first, ...))
{
@@ -175,6 +172,23 @@ concat VPARAMS ((const char *first, ...))
return newstr;
}
+/*
+
+@deftypefn Extension char* reconcat (char *@var{optr}, char *@var{s1}, ..., @code{NULL})
+
+Same as @code{concat}, except that if @var{optr} is not @code{NULL} it
+is freed after the string is created. This is intended to be useful
+when you're extending an existing string or building up a string in a
+loop:
+
+@example
+ str = reconcat (str, "pre-", str, NULL);
+@end example
+
+@end deftypefn
+
+*/
+
char *
reconcat VPARAMS ((char *optr, const char *first, ...))
{