projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'm_getfld2-meillo' into master
[mmh]
/
sbr
/
concat.c
diff --git
a/sbr/concat.c
b/sbr/concat.c
index
65ded77
..
9efe731
100644
(file)
--- a/
sbr/concat.c
+++ b/
sbr/concat.c
@@
-9,27
+9,39
@@
#include <h/mh.h>
#include <h/utils.h>
#include <h/mh.h>
#include <h/utils.h>
+#include <stdarg.h>
+
+
+static char *
+copy(char *from, char *to)
+{
+ while ((*to = *from)) {
+ to++;
+ from++;
+ }
+ return (to);
+}
char *
char *
-concat (char *s1, ...)
+concat(char *s1, ...)
{
char *cp, *dp, *sp;
size_t len;
va_list list;
{
char *cp, *dp, *sp;
size_t len;
va_list list;
- len = strlen (s1) + 1;
+ len = strlen(s1) + 1;
va_start(list, s1);
while ((cp = va_arg(list, char *)))
va_start(list, s1);
while ((cp = va_arg(list, char *)))
- len += strlen (cp);
+ len += strlen(cp);
va_end(list);
va_end(list);
- dp = sp = mh_xmalloc(len);
+ dp = sp = mh_xcalloc(len, sizeof(char));
sp = copy(s1, sp);
va_start(list, s1);
sp = copy(s1, sp);
va_start(list, s1);
- while ((cp = va_arg (list, char *)))
+ while ((cp = va_arg(list, char *)))
sp = copy(cp, sp);
va_end(list);
sp = copy(cp, sp);
va_end(list);