diff options
Diffstat (limited to 'app-text/a2ps/files/a2ps-4.13c-stdarg.patch')
-rw-r--r-- | app-text/a2ps/files/a2ps-4.13c-stdarg.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/app-text/a2ps/files/a2ps-4.13c-stdarg.patch b/app-text/a2ps/files/a2ps-4.13c-stdarg.patch new file mode 100644 index 0000000..4ff1212 --- /dev/null +++ b/app-text/a2ps/files/a2ps-4.13c-stdarg.patch @@ -0,0 +1,74 @@ +--- a2ps-4.13-orig/configure.in 2005-08-14 14:13:42.000000000 +0200 ++++ a2ps-4.13/configure.in 2005-08-14 14:18:20.000000000 +0200 +@@ -157,6 +157,22 @@ + [Define to rpl_fnmatch if the replacement function should be used.]) + fi + ++# Check for C99 va_copy ++AC_CACHE_CHECK([ ++ AC_TRY_LINK([#include <stdarg.h>], ++ [ ++ va_list va1, va2; ++ ++ va_copy(va2, va1); ++ va_end(va2); ++ ], ++ [ac_cv_va_copy="yes"],[ac_cv_va_copy="no"] ++ ) ++]) ++if test "x$ac_cv_va_copy"="xyes"; then ++ AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if C99 va_copy function should be used]) ++fi ++ + # Needed checks for tinyterm.[ch] + ad_TINYTERM_CHECKS + +--- a2ps-4.13-orig/lib/printlen.c 2002-03-04 19:46:25.000000000 +0100 ++++ a2ps-4.13/lib/printlen.c 2005-08-14 14:29:08.000000000 +0200 +@@ -27,15 +27,24 @@ + + unsigned long strtoul (); + ++#if !defined(HAVE_VA_COPY) + static int + int_printflen (const char *format, va_list *args) ++#else ++static int ++int_printflen (const char *format, va_list args) ++#endif + { + const char *cp; + int total_width = 0; + int width = 0; + va_list ap; + ++#ifndef HAVE_VA_COPY + memcpy (&ap, args, sizeof (va_list)); ++#else ++ va_copy(ap, args); ++#endif + + for (cp = format ; *cp ; cp++) + { +@@ -93,13 +102,21 @@ + } + } + } ++ ++#ifdef HAVE_VA_COPY ++ va_end(ap); ++#endif + return total_width; + } + + int + vprintflen (const char *format, va_list args) + { ++#if !defined(HAVE_VA_COPY) + return int_printflen (format, &args); ++#else ++ return int_printflen (format, args); ++#endif + } + + int |