]> git.pld-linux.org Git - packages/lftp.git/blame - lftp-m4.patch
- added home_etc.patch
[packages/lftp.git] / lftp-m4.patch
CommitLineData
97a8185b
AM
1diff -urN lftp-2.5.0a.org/m4/va_copy.m4 lftp-2.5.0a/m4/va_copy.m4
2--- lftp-2.5.0a.org/m4/va_copy.m4 Thu Jan 1 01:00:00 1970
3+++ lftp-2.5.0a/m4/va_copy.m4 Mon Mar 4 15:16:21 2002
4@@ -0,0 +1,126 @@
5+# Directly out of glib. We don't do copy-by-value and other really
6+# pessimistic tests, since just about all systems will have one of these.
7+# Add them if needed.
8+
9+AC_DEFUN(lftp_VA_COPY,
10+[
11+ AC_CACHE_CHECK([for an implementation of va_copy()],lftp_cv_va_copy,[
12+ AC_TRY_RUN([
13+ #include <stdarg.h>
14+ void f (int i, ...) {
15+ va_list args1, args2;
16+ va_start (args1, i);
17+ va_copy (args2, args1);
18+ if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
19+ exit (1);
20+ va_end (args1); va_end (args2);
21+ }
22+ int main() {
23+ f (0, 42);
24+ return 0;
25+ }],
26+ [lftp_cv_va_copy=yes],
27+ [lftp_cv_va_copy=no],
28+ [])
29+ ])
30+ if test x$lftp_cv_va_copy != xyes; then
31+ AC_CACHE_CHECK([for an implementation of __va_copy()],lftp_cv___va_copy,[
32+ AC_TRY_RUN([
33+ #include <stdarg.h>
34+ void f (int i, ...) {
35+ va_list args1, args2;
36+ va_start (args1, i);
37+ __va_copy (args2, args1);
38+ if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
39+ exit (1);
40+ va_end (args1); va_end (args2);
41+ }
42+ int main() {
43+ f (0, 42);
44+ return 0;
45+ }],
46+ [lftp_cv___va_copy=yes],
47+ [lftp_cv___va_copy=no],
48+ [])
49+ ])
50+ fi
51+
52+ if test "x$lftp_cv_va_copy" = "xyes"; then
53+ va_copy_func=va_copy
54+ elif test "x$lftp_cv___va_copy" = "xyes"; then
55+ va_copy_func=__va_copy
56+ fi
57+
58+ if test -n "$va_copy_func"; then
59+ AC_DEFINE_UNQUOTED(VA_COPY,$va_copy_func,[A 'va_copy' style function])
60+
61+ else
62+
63+ AC_CACHE_CHECK([whether va_lists can be copied by value],lftp_cv_va_val_copy,[
64+ AC_TRY_RUN([
65+ #include <stdarg.h>
66+ #include <string.h>
67+ void f (int i, ...) {
68+ va_list args1, args2;
69+ va_start (args1, i);
70+
71+ memmove(&args2, &args1, sizeof(args1));
72+ if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
73+ exit (1);
74+ va_end (args1); va_end (args2);
75+ }
76+ int main() {
77+ f (0, 42);
78+ return 0;
79+ }],
80+ [lftp_cv_va_val_copy=yes],
81+ [lftp_cv_va_val_copy=no],
82+ [lftp_cv_va_val_copy=no])
83+ ])
84+
85+ if test x$lftp_cv_va_val_copy = xyes; then
86+ AC_DEFINE(VA_VAL_COPY,1,[Define to 1 if va_lists can be copied by value])
87+ else
88+ AC_CACHE_CHECK([whether va_lists can be copied by pointer],lftp_cv_va_ptr_copy,[
89+ AC_TRY_RUN([
90+ #include <stdarg.h>
91+ void f (int i, ...) {
92+ va_list args1, args2;
93+ va_start (args1, i);
94+
95+ *args2 = *args1;
96+ if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
97+ exit (1);
98+ va_end (args1); va_end (args2);
99+ }
100+ int main() {
101+ f (0, 42);
102+ return 0;
103+ }],
104+ [lftp_cv_va_ptr_copy=yes],
105+ [lftp_cv_va_ptr_copy=no],
106+ [lftp_cv_va_ptr_copy=no])
107+ ])
108+
109+ if test x$lftp_cv_va_ptr_copy = xyes; then
110+ AC_DEFINE(VA_PTR_COPY,1,[Define to 1 if va_lists can be copied by pointer])
111+ fi
112+ fi
113+ fi
114+
115+ if test x$lftp_cv_va_val_copy != xyes -a x$lftp_cv_va_ptr_copy != xyes -a \
116+ x$lftp_cv_va_copy != xyes -a x$lftp_cv___va_copy != xyes; then
117+ AC_MSG_ERROR(Can't find a way to va_copy.)
118+ fi
119+
120+ dnl ZZZ for autoheader sorting.
121+ AH_VERBATIM([VA_ZZZ_COPY],
122+[#if !defined (VA_COPY)
123+# if defined (VA_PTR_COPY)
124+# define VA_COPY(ap1, ap2) (*(ap1) = *(ap2))
125+# elif defined (VA_VAL_COPY)
126+# include <string.h>
127+# define VA_COPY(to,from) (memcpy(&(to),&(from),sizeof((to))))
128+# endif
129+#endif /* !VA_COPY */])
130+])
This page took 0.036703 seconds and 4 git commands to generate.