diff options
Diffstat (limited to 'mail-mta/ssmtp/files/ssmtp-2.62-strndup.patch')
-rw-r--r-- | mail-mta/ssmtp/files/ssmtp-2.62-strndup.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mail-mta/ssmtp/files/ssmtp-2.62-strndup.patch b/mail-mta/ssmtp/files/ssmtp-2.62-strndup.patch new file mode 100644 index 000000000000..a4434ebf08bb --- /dev/null +++ b/mail-mta/ssmtp/files/ssmtp-2.62-strndup.patch @@ -0,0 +1,32 @@ +Compensate for platforms that don't have strndup, like Solaris + +--- configure.in ++++ configure.in +@@ -30,7 +30,7 @@ + dnl Checks for library functions. + AC_TYPE_SIGNAL + AC_FUNC_VPRINTF +-AC_CHECK_FUNCS(gethostname socket strdup strstr) ++AC_CHECK_FUNCS(gethostname socket strdup strndup strstr) + + dnl Check for optional features + AC_ARG_ENABLE(logfile, +--- ssmtp.c ++++ ssmtp.c +@@ -842,7 +842,16 @@ + if (!rest) { + return NULL; + } ++#ifdef HAVE_STRNDUP + tok=strndup(*s,rest-(*s)); ++#else ++ { ++ size_t len = rest - (*s); ++ tok = malloc(sizeof(char) * (len + 1)); ++ memcpy(tok, *s, len); ++ tok[len] = '\0'; ++ } ++#endif + if (!tok) { + die("firsttok() -- strndup() failed"); + } |