diff options
Diffstat (limited to 'mail/ja-mh/patches/patch-as')
-rw-r--r-- | mail/ja-mh/patches/patch-as | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/mail/ja-mh/patches/patch-as b/mail/ja-mh/patches/patch-as new file mode 100644 index 00000000000..016ff2bfd13 --- /dev/null +++ b/mail/ja-mh/patches/patch-as @@ -0,0 +1,55 @@ +$NetBSD: patch-as,v 1.1 2004/09/18 04:43:39 taca Exp $ + +--- sbr/concat.c.orig 1993-12-01 13:01:21.000000000 +0900 ++++ sbr/concat.c +@@ -2,13 +2,12 @@ + + #include "../h/mh.h" + #include <stdio.h> +-#include <varargs.h> ++#include <stdarg.h> + + + /* VARARGS */ + +-char *concat (va_alist) +-va_dcl ++char *concat (char *first, ...) + { + register char *cp, + *dp, +@@ -17,19 +16,26 @@ va_dcl + register va_list list; + + len = 1; +- va_start (list); +- while (cp = va_arg (list, char *)) +- len += strlen (cp); +- va_end (list); ++ if (first) { ++ len += strlen(first); ++ va_start (list, first); ++ while (cp = va_arg (list, char *)) ++ len += strlen (cp); ++ va_end (list); ++ } + + dp = sp = malloc (len); + if (dp == NULL) + adios (NULLCP, "unable to allocate string storage"); + +- va_start (list); +- while (cp = va_arg (list, char *)) +- sp = copy (cp, sp); +- va_end (list); ++ *sp = '\0'; ++ if (first) { ++ sp = copy (first, sp); ++ va_start (list, first); ++ while (cp = va_arg (list, char *)) ++ sp = copy (cp, sp); ++ va_end (list); ++ } + + return dp; + } |