summaryrefslogtreecommitdiffstats
path: root/app-text/a2ps/files/a2ps-4.13c-stdarg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/a2ps/files/a2ps-4.13c-stdarg.patch')
-rw-r--r--app-text/a2ps/files/a2ps-4.13c-stdarg.patch74
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