--- mh-6.8.4-JP-3.05/h/mh.h Wed Dec 2 02:05:00 1998 +++ mh-6.8.4-JP-3.05.x/h/mh.h Fri Nov 28 14:22:01 2003 @@ -253,7 +253,7 @@ int atooi (); char **brkstring (); void closefds (); -char *concat (); +char *concat (char *hoge , ...); char *copy (); char **copyip (); void cpydata (); --- mh-6.8.4-JP-3.05/sbr/concat.c Wed Dec 1 13:01:21 1993 +++ mh-6.8.4-JP-3.05x/sbr/concat.c Fri Nov 28 23:14:07 2003 @@ -2,22 +2,21 @@ #include "../h/mh.h" #include -#include - +#include /* VARARGS */ -char *concat (va_alist) -va_dcl + +char *concat (char *hoge, ...) { - register char *cp, +char *cp, *dp, *sp; - register unsigned len; - register va_list list; +unsigned len; +va_list list; - len = 1; - va_start (list); + len = 1 + strlen(hoge); + va_start (list,hoge); while (cp = va_arg (list, char *)) len += strlen (cp); va_end (list); @@ -26,10 +25,13 @@ if (dp == NULL) adios (NULLCP, "unable to allocate string storage"); - va_start (list); + strcpy(dp,hoge); + va_start (list,hoge); while (cp = va_arg (list, char *)) - sp = copy (cp, sp); + strcat(dp,cp); va_end (list); return dp; } + +