? file_ranges.patch
? m4
? lib/ca-bundle.h
Index: configure.ac
===================================================================
RCS file: /cvsroot/curl/curl/configure.ac,v
retrieving revision 1.368
diff -u -r1.368 configure.ac
--- configure.ac	2 Oct 2008 03:56:55 -0000	1.368
+++ configure.ac	6 Oct 2008 14:43:51 -0000
@@ -436,6 +436,22 @@
        AC_MSG_RESULT(yes)
 )
 
+AC_MSG_CHECKING([whether to support the multi API])
+AC_ARG_ENABLE(multi,
+AC_HELP_STRING([--enable-multi],[Enable MULTI API support])
+AC_HELP_STRING([--disable-multi],[Disable MULTI API support]),
+[ case "$enableval" in
+  no)
+       AC_MSG_RESULT(no)
+       AC_DEFINE(CURL_DISABLE_MULTI, 1, [to disable the MULTI API])
+       AC_SUBST(CURL_DISABLE_MULTI, [1])
+       ;;
+  *)   AC_MSG_RESULT(yes)
+       ;;
+  esac ],
+       AC_MSG_RESULT(yes)
+)
+
 AC_MSG_CHECKING([whether to support dict])
 AC_ARG_ENABLE(dict,
 AC_HELP_STRING([--enable-dict],[Enable DICT support])
Index: include/curl/curl.h
===================================================================
RCS file: /cvsroot/curl/curl/include/curl/curl.h,v
retrieving revision 1.366
diff -u -r1.366 curl.h
--- include/curl/curl.h	5 Sep 2008 16:13:20 -0000	1.366
+++ include/curl/curl.h	6 Oct 2008 14:43:53 -0000
@@ -1712,6 +1712,7 @@
 #define CURL_VERSION_SSPI      (1<<11) /* SSPI is supported */
 #define CURL_VERSION_CONV      (1<<12) /* character conversions are
                                           supported */
+#define CURL_VERSION_MULTI     (1<<13) /* multi API is supported */
 
 /*
  * NAME curl_version_info()
Index: include/curl/multi.h
===================================================================
RCS file: /cvsroot/curl/curl/include/curl/multi.h,v
retrieving revision 1.45
diff -u -r1.45 multi.h
--- include/curl/multi.h	20 May 2008 10:21:50 -0000	1.45
+++ include/curl/multi.h	6 Oct 2008 14:43:53 -0000
@@ -49,6 +49,12 @@
  */
 #include "curl.h"
 
+#define CURL_CSELECT_IN   0x01
+#define CURL_CSELECT_OUT  0x02
+#define CURL_CSELECT_ERR  0x04
+
+#ifndef CURL_DISABLE_MULTI
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
@@ -224,10 +230,6 @@
 
 #define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD
 
-#define CURL_CSELECT_IN   0x01
-#define CURL_CSELECT_OUT  0x02
-#define CURL_CSELECT_ERR  0x04
-
 typedef int (*curl_socket_callback)(CURL *easy,      /* easy handle */
                                     curl_socket_t s, /* socket */
                                     int what,        /* see above */
@@ -343,4 +345,6 @@
 } /* end of extern "C" */
 #endif
 
+#endif /* CURL_DISABLE_MULTI */
+
 #endif
Index: lib/connect.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/connect.c,v
retrieving revision 1.198
diff -u -r1.198 connect.c
--- lib/connect.c	8 Sep 2008 19:34:58 -0000	1.198
+++ lib/connect.c	6 Oct 2008 14:43:53 -0000
@@ -612,7 +612,10 @@
     if(data->set.timeout)
       allow_total = data->set.timeout;
 
+#ifndef CURL_DISABLE_MULTI
     Curl_expire(data, allow_total);
+#endif /* CURL_DISABLE_MULTI */
+
     *connected = TRUE;
     return CURLE_OK;
   }
@@ -626,7 +629,9 @@
     return CURLE_OPERATION_TIMEDOUT;
   }
 
+#ifndef CURL_DISABLE_MULTI
   Curl_expire(data, allow);
+#endif /* CURL_DISABLE_MULTI */
 
   /* check for connect without timeout as we want to return immediately */
   rc = waitconnect(sockfd, 0);
@@ -929,7 +934,10 @@
     failf(data, "Connection time-out");
     return CURLE_OPERATION_TIMEDOUT;
   }
+
+#ifndef CURL_DISABLE_MULTI
   Curl_expire(data, timeout_ms);
+#endif /* CURL_DISABLE_MULTI */
 
   /* Max time for each address */
   num_addr = Curl_num_addresses(remotehost->addr);
Index: lib/hostares.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/hostares.c,v
retrieving revision 1.41
diff -u -r1.41 hostares.c
--- lib/hostares.c	29 Sep 2008 21:44:50 -0000	1.41
+++ lib/hostares.c	6 Oct 2008 14:43:53 -0000
@@ -112,8 +112,10 @@
 
   timeout = ares_timeout(conn->data->state.areschannel, &maxtime, &timebuf);
 
+#ifndef CURL_DISABLE_MULTI
   Curl_expire(conn->data,
               (timeout->tv_sec * 1000) + (timeout->tv_usec/1000));
+#endif /* CURL_DISABLE_MULTI */
 
   return max;
 }
Index: lib/multi.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/multi.c,v
retrieving revision 1.183
diff -u -r1.183 multi.c
--- lib/multi.c	29 Sep 2008 12:22:10 -0000	1.183
+++ lib/multi.c	6 Oct 2008 14:43:55 -0000
@@ -23,6 +23,8 @@
 
 #include "setup.h"
 
+#ifndef CURL_DISABLE_MULTI
+
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
@@ -2276,3 +2278,6 @@
   }
 }
 #endif
+
+#endif /* CURL_DISABLE_MULTI */
+
Index: lib/sendf.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/sendf.c,v
retrieving revision 1.150
diff -u -r1.150 sendf.c
--- lib/sendf.c	30 Sep 2008 12:50:52 -0000	1.150
+++ lib/sendf.c	6 Oct 2008 14:43:55 -0000
@@ -578,8 +578,12 @@
   ssize_t nread = 0;
   size_t bytesfromsocket = 0;
   char *buffertofill = NULL;
+#ifndef CURL_DISABLE_MULTI
   bool pipelining = (bool)(conn->data->multi &&
                      Curl_multi_canPipeline(conn->data->multi));
+#else
+  const bool pipelining = 0;
+#endif /* CURL_DISABLE_MULTI */
 
   /* Set 'num' to 0 or 1, depending on which socket that has been sent here.
      If it is the second socket, we set num to 1. Otherwise to 0. This lets
Index: lib/speedcheck.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/speedcheck.c,v
retrieving revision 1.23
diff -u -r1.23 speedcheck.c
--- lib/speedcheck.c	30 Aug 2007 20:34:57 -0000	1.23
+++ lib/speedcheck.c	6 Oct 2008 14:43:55 -0000
@@ -59,17 +59,24 @@
             data->set.low_speed_time);
       return CURLE_OPERATION_TIMEDOUT;
     }
+
+#ifndef CURL_DISABLE_MULTI
     Curl_expire(data, howlong);
+#endif /* CURL_DISABLE_MULTI */
+
   }
   else {
     /* we keep up the required speed all right */
     data->state.keeps_speed = now;
 
-    if(data->set.low_speed_limit)
+    if(data->set.low_speed_limit) {
       /* if there is a low speed limit enabled, we set the expire timer to
          make this connection's speed get checked again no later than when
          this time is up */
+#ifndef CURL_DISABLE_MULTI
       Curl_expire(data, data->set.low_speed_time*1000);
+#endif /* CURL_DISABLE_MULTI */
+    }
   }
   return CURLE_OK;
 }
Index: lib/strerror.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/strerror.c,v
retrieving revision 1.54
diff -u -r1.54 strerror.c
--- lib/strerror.c	12 Sep 2008 10:51:57 -0000	1.54
+++ lib/strerror.c	6 Oct 2008 14:43:56 -0000
@@ -303,6 +303,8 @@
 #endif
 }
 
+#ifndef CURL_DISABLE_MULTI
+
 const char *
 curl_multi_strerror(CURLMcode error)
 {
@@ -344,6 +346,7 @@
     return "Error";
 #endif
 }
+#endif /* CURL_DISABLE_MULTI */
 
 const char *
 curl_share_strerror(CURLSHcode error)
Index: lib/url.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/url.c,v
retrieving revision 1.750
diff -u -r1.750 url.c
--- lib/url.c	29 Sep 2008 22:45:25 -0000	1.750
+++ lib/url.c	6 Oct 2008 14:43:58 -0000
@@ -347,7 +347,9 @@
 
 CURLcode Curl_close(struct SessionHandle *data)
 {
+#ifndef CURL_DISABLE_MULTI
   struct Curl_multi *m = data->multi;
+#endif /* CURL_DISABLE_MULTI */
 
 #ifdef CURLDEBUG
   /* only for debugging, scan through all connections and see if there's a
@@ -399,10 +401,12 @@
   }
 #endif
 
+#ifndef CURL_DISABLE_MULTI
   if(m)
     /* This handle is still part of a multi handle, take care of this first
        and detach this handle from there. */
     Curl_multi_rmeasy(data->multi, data);
+#endif /* CURL_DISABLE_MULTI */
 
   data->magic = 0; /* force a clear AFTER the possibly enforced removal from
                       the multi handle, since that function uses the magic
@@ -2154,7 +2158,10 @@
                   NULL, Curl_scan_cache_used);
 #endif
 
+#ifndef CURL_DISABLE_MULTI
   Curl_expire(data, 0); /* shut off timers */
+#endif /* CURL_DISABLE_MULTI */
+
   Curl_hostcache_prune(data); /* kill old DNS cache entries */
 
   {
@@ -2249,19 +2256,23 @@
 
 static bool IsPipeliningPossible(const struct SessionHandle *handle)
 {
+#ifndef CURL_DISABLE_MULTI
   if(handle->multi && Curl_multi_canPipeline(handle->multi) &&
       (handle->set.httpreq == HTTPREQ_GET ||
        handle->set.httpreq == HTTPREQ_HEAD) &&
       handle->set.httpversion != CURL_HTTP_VERSION_1_0)
     return TRUE;
+#endif /* CURL_DISABLE_MULTI */
 
   return FALSE;
 }
 
 bool Curl_isPipeliningEnabled(const struct SessionHandle *handle)
 {
+#ifndef CURL_DISABLE_MULTI
   if(handle->multi && Curl_multi_canPipeline(handle->multi))
     return TRUE;
+#endif /* CURL_DISABLE_MULTI */
 
   return FALSE;
 }
@@ -2342,7 +2353,9 @@
 #endif
 
     data->state.pipe_broke = TRUE;
+#ifndef  CURL_DISABLE_MULTI
     Curl_multi_handlePipeBreak(data);
+#endif /* CURL_DISABLE_MULTI */
     Curl_llist_remove(pipeline, curr, NULL);
     curr = next;
   }
@@ -3991,6 +4004,7 @@
   conn->bits.ftp_use_epsv = data->set.ftp_use_epsv;
   conn->bits.ftp_use_eprt = data->set.ftp_use_eprt;
 
+#ifndef CURL_DISABLE_MULTI
   if(data->multi && Curl_multi_canPipeline(data->multi) &&
       !conn->master_buffer) {
     /* Allocate master_buffer to be used for pipelining */
@@ -3998,6 +4012,7 @@
     if(!conn->master_buffer)
       return CURLE_OUT_OF_MEMORY;
   }
+#endif /* CURL_DISABLE_MULTI */
 
   /* Initialize the pipeline lists */
   conn->send_pipe = Curl_llist_alloc((curl_llist_dtor) llist_dtor);
@@ -4466,7 +4481,9 @@
   conn = *connp;
   data = conn->data;
 
+#ifndef CURL_DISABLE_MULTI
   Curl_expire(data, 0); /* stop timer */
+#endif /* CURL_DISABLE_MULTI */
 
   if(Curl_removeHandleFromPipeline(data, conn->recv_pipe) &&
      conn->readchannel_inuse)
Index: lib/version.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/version.c,v
retrieving revision 1.59
diff -u -r1.59 version.c
--- lib/version.c	26 Aug 2008 01:40:19 -0000	1.59
+++ lib/version.c	6 Oct 2008 14:43:58 -0000
@@ -190,6 +190,9 @@
 #ifdef HAVE_SPNEGO
   | CURL_VERSION_SPNEGO
 #endif
+#ifndef CURL_DISABLE_MULTI
+  | CURL_VERSION_MULTI
+#endif
 #if (CURL_SIZEOF_CURL_OFF_T > 4) && \
     ( (SIZEOF_OFF_T > 4) || defined(USE_WIN32_LARGE_FILES) )
   | CURL_VERSION_LARGEFILE
Index: src/main.c
===================================================================
RCS file: /cvsroot/curl/curl/src/main.c,v
retrieving revision 1.488
diff -u -r1.488 main.c
--- src/main.c	30 Sep 2008 18:59:02 -0000	1.488
+++ src/main.c	6 Oct 2008 14:44:01 -0000
@@ -2824,6 +2824,7 @@
           {"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE},
           {"IDN", CURL_VERSION_IDN},
           {"IPv6", CURL_VERSION_IPV6},
+          {"multi", CURL_VERSION_MULTI},
           {"Largefile", CURL_VERSION_LARGEFILE},
           {"NTLM", CURL_VERSION_NTLM},
           {"SPNEGO", CURL_VERSION_SPNEGO},
Index: tests/runtests.pl
===================================================================
RCS file: /cvsroot/curl/curl/tests/runtests.pl,v
retrieving revision 1.309
diff -u -r1.309 runtests.pl
--- tests/runtests.pl	26 Sep 2008 18:56:56 -0000	1.309
+++ tests/runtests.pl	6 Oct 2008 14:44:02 -0000
@@ -178,6 +178,7 @@
 my $ftp_ipv6;    # set if FTP server has IPv6 support
 my $tftp_ipv6;   # set if TFTP server has IPv6 support
 my $has_ipv6;    # set if libcurl is built with IPv6 support
+my $has_multi;   # set if libcurl is built with multi API
 my $has_libz;    # set if libcurl is built with libz support
 my $has_getrlimit;  # set if system has getrlimit()
 my $has_ntlm;    # set if libcurl is built with NTLM support
@@ -1554,6 +1555,9 @@
                 # IDN support
                 $has_idn=1;
             }
+            if($feat =~ /multi/i) {
+                $has_multi = 1;
+            }
             if($feat =~ /IPv6/i) {
                 $has_ipv6 = 1;
             }
@@ -1768,6 +1772,11 @@
                 next;
             }
         }
+        elsif($f eq "multi") {
+            if($has_multi) {
+                next;
+            }
+        }
         elsif($f eq "netrc_debug") {
             if($curl_debug) {
                 next;
Index: tests/data/test502
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test502,v
retrieving revision 1.5
diff -u -r1.5 test502
--- tests/data/test502	23 Jan 2007 02:26:59 -0000	1.5
+++ tests/data/test502	6 Oct 2008 14:44:02 -0000
@@ -1,4 +1,9 @@
 <testcase>
+<info>
+<keywords>
+multi
+</keywords>
+</info>
 #
 # Server-side
 <reply>
@@ -13,6 +18,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 file
 </server>
Index: tests/data/test503
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test503,v
retrieving revision 1.18
diff -u -r1.18 test503
--- tests/data/test503	11 Aug 2008 23:16:52 -0000	1.18
+++ tests/data/test503	6 Oct 2008 14:44:02 -0000
@@ -35,6 +35,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test504
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test504,v
retrieving revision 1.7
diff -u -r1.7 test504
--- tests/data/test504	14 Sep 2007 19:32:31 -0000	1.7
+++ tests/data/test504	6 Oct 2008 14:44:02 -0000
@@ -5,6 +5,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 none
 </server>
Index: tests/data/test507
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test507,v
retrieving revision 1.3
diff -u -r1.3 test507
--- tests/data/test507	23 Jan 2007 02:27:00 -0000	1.3
+++ tests/data/test507	6 Oct 2008 14:44:02 -0000
@@ -1,10 +1,18 @@
 <testcase>
+<info>
+<keywords>
+multi
+</keywords>
+</info>
 # Server-side
 <reply>
 </reply>
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test525
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test525,v
retrieving revision 1.5
diff -u -r1.5 test525
--- tests/data/test525	26 Aug 2008 20:11:12 -0000	1.5
+++ tests/data/test525	6 Oct 2008 14:44:02 -0000
@@ -16,6 +16,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test526
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test526,v
retrieving revision 1.5
diff -u -r1.5 test526
--- tests/data/test526	26 Aug 2008 20:11:12 -0000	1.5
+++ tests/data/test526	6 Oct 2008 14:44:02 -0000
@@ -23,6 +23,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test527
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test527,v
retrieving revision 1.5
diff -u -r1.5 test527
--- tests/data/test527	26 Aug 2008 20:11:12 -0000	1.5
+++ tests/data/test527	6 Oct 2008 14:44:02 -0000
@@ -23,6 +23,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test528
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test528,v
retrieving revision 1.4
diff -u -r1.4 test528
--- tests/data/test528	26 Aug 2008 20:21:59 -0000	1.4
+++ tests/data/test528	6 Oct 2008 14:44:02 -0000
@@ -27,6 +27,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test529
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test529,v
retrieving revision 1.5
diff -u -r1.5 test529
--- tests/data/test529	26 Aug 2008 20:11:12 -0000	1.5
+++ tests/data/test529	6 Oct 2008 14:44:02 -0000
@@ -16,6 +16,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test530
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test530,v
retrieving revision 1.6
diff -u -r1.6 test530
--- tests/data/test530	26 Aug 2008 20:11:12 -0000	1.6
+++ tests/data/test530	6 Oct 2008 14:44:02 -0000
@@ -45,6 +45,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test531
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test531,v
retrieving revision 1.5
diff -u -r1.5 test531
--- tests/data/test531	26 Aug 2008 20:21:59 -0000	1.5
+++ tests/data/test531	6 Oct 2008 14:44:02 -0000
@@ -19,6 +19,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test532
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test532,v
retrieving revision 1.5
diff -u -r1.5 test532
--- tests/data/test532	26 Aug 2008 20:11:12 -0000	1.5
+++ tests/data/test532	6 Oct 2008 14:44:02 -0000
@@ -23,6 +23,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test533
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test533,v
retrieving revision 1.7
diff -u -r1.7 test533
--- tests/data/test533	30 Sep 2008 09:51:59 -0000	1.7
+++ tests/data/test533	6 Oct 2008 14:44:02 -0000
@@ -21,6 +21,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test534
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test534,v
retrieving revision 1.7
diff -u -r1.7 test534
--- tests/data/test534	30 Sep 2008 09:51:59 -0000	1.7
+++ tests/data/test534	6 Oct 2008 14:44:02 -0000
@@ -21,6 +21,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test535
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test535,v
retrieving revision 1.4
diff -u -r1.4 test535
--- tests/data/test535	26 Aug 2008 20:21:59 -0000	1.4
+++ tests/data/test535	6 Oct 2008 14:44:02 -0000
@@ -36,6 +36,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test536
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test536,v
retrieving revision 1.3
diff -u -r1.3 test536
--- tests/data/test536	14 Sep 2007 19:32:31 -0000	1.3
+++ tests/data/test536	6 Oct 2008 14:44:02 -0000
@@ -32,6 +32,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test538
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test538,v
retrieving revision 1.5
diff -u -r1.5 test538
--- tests/data/test538	26 Aug 2008 20:21:59 -0000	1.5
+++ tests/data/test538	6 Oct 2008 14:44:02 -0000
@@ -16,6 +16,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test540
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test540,v
retrieving revision 1.4
diff -u -r1.4 test540
--- tests/data/test540	12 Oct 2007 01:44:22 -0000	1.4
+++ tests/data/test540	6 Oct 2008 14:44:02 -0000
@@ -50,6 +50,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/data/test546
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test546,v
retrieving revision 1.2
diff -u -r1.2 test546
--- tests/data/test546	30 Sep 2008 09:51:59 -0000	1.2
+++ tests/data/test546	6 Oct 2008 14:44:02 -0000
@@ -26,6 +26,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 ftp
 </server>
Index: tests/data/test555
===================================================================
RCS file: /cvsroot/curl/curl/tests/data/test555,v
retrieving revision 1.4
diff -u -r1.4 test555
--- tests/data/test555	29 Sep 2008 22:44:04 -0000	1.4
+++ tests/data/test555	6 Oct 2008 14:44:03 -0000
@@ -72,6 +72,9 @@
 
 # Client-side
 <client>
+<features>
+multi
+</features>
 <server>
 http
 </server>
Index: tests/libtest/lib502.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib502.c,v
retrieving revision 1.8
diff -u -r1.8 lib502.c
--- tests/libtest/lib502.c	20 Sep 2008 04:26:56 -0000	1.8
+++ tests/libtest/lib502.c	6 Oct 2008 14:44:03 -0000
@@ -22,6 +22,7 @@
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   CURL *c;
   CURLM *m;
   int res = 0;
@@ -87,5 +88,8 @@
   curl_global_cleanup();
 
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
 
Index: tests/libtest/lib503.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib503.c,v
retrieving revision 1.19
diff -u -r1.19 lib503.c
--- tests/libtest/lib503.c	20 Sep 2008 04:26:56 -0000	1.19
+++ tests/libtest/lib503.c	6 Oct 2008 14:44:03 -0000
@@ -28,6 +28,7 @@
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   CURL *c;
   CURLM *m;
   int res = 0;
@@ -145,5 +146,8 @@
   curl_global_cleanup();
 
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
 
Index: tests/libtest/lib504.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib504.c,v
retrieving revision 1.28
diff -u -r1.28 lib504.c
--- tests/libtest/lib504.c	20 Sep 2008 04:26:57 -0000	1.28
+++ tests/libtest/lib504.c	6 Oct 2008 14:44:03 -0000
@@ -27,6 +27,7 @@
  */
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   CURL *c;
   int ret=0;
   CURLM *m;
@@ -153,5 +154,8 @@
   curl_global_cleanup();
 
   return ret;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
 
Index: tests/libtest/lib507.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib507.c,v
retrieving revision 1.17
diff -u -r1.17 lib507.c
--- tests/libtest/lib507.c	20 Sep 2008 04:26:57 -0000	1.17
+++ tests/libtest/lib507.c	6 Oct 2008 14:44:03 -0000
@@ -18,6 +18,7 @@
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   CURL* curls;
   CURLM* multi;
   int still_running;
@@ -133,4 +134,7 @@
   curl_global_cleanup();
 
   return i; /* return the final return code */
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib525.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib525.c,v
retrieving revision 1.19
diff -u -r1.19 lib525.c
--- tests/libtest/lib525.c	20 Sep 2008 04:26:57 -0000	1.19
+++ tests/libtest/lib525.c	6 Oct 2008 14:44:03 -0000
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * $Id: lib525.c,v 1.19 2008-09-20 04:26:57 yangtse Exp $
+ * $Id: lib525.c,v 1.18 2008-05-22 21:49:53 danf Exp $
  */
 
 #include "test.h"
@@ -15,13 +15,13 @@
 #include <fcntl.h>
 
 #include "testutil.h"
-#include "memdebug.h"
 
 #define MAIN_LOOP_HANG_TIMEOUT     90 * 1000
 #define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   int res = 0;
   CURL *curl;
   FILE *hd_src ;
@@ -199,4 +199,7 @@
 
   curl_global_cleanup();
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib526.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib526.c,v
retrieving revision 1.15
diff -u -r1.15 lib526.c
--- tests/libtest/lib526.c	20 Sep 2008 04:26:57 -0000	1.15
+++ tests/libtest/lib526.c	6 Oct 2008 14:44:03 -0000
@@ -43,6 +43,7 @@
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   int res = 0;
   CURL *curl[NUM_HANDLES];
   int running;
@@ -210,4 +211,7 @@
 
   curl_global_cleanup();
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib530.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib530.c,v
retrieving revision 1.18
diff -u -r1.18 lib530.c
--- tests/libtest/lib530.c	20 Sep 2008 04:26:57 -0000	1.18
+++ tests/libtest/lib530.c	6 Oct 2008 14:44:03 -0000
@@ -30,6 +30,7 @@
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   int res = 0;
   CURL *curl[NUM_HANDLES];
   int running;
@@ -173,4 +174,7 @@
   curl_global_cleanup();
 
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib533.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib533.c,v
retrieving revision 1.16
diff -u -r1.16 lib533.c
--- tests/libtest/lib533.c	20 Sep 2008 04:26:57 -0000	1.16
+++ tests/libtest/lib533.c	6 Oct 2008 14:44:03 -0000
@@ -24,6 +24,7 @@
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   int res = 0;
   CURL *curl;
   int running;
@@ -161,4 +162,7 @@
   curl_global_cleanup();
 
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib536.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib536.c,v
retrieving revision 1.14
diff -u -r1.14 lib536.c
--- tests/libtest/lib536.c	20 Sep 2008 04:26:57 -0000	1.14
+++ tests/libtest/lib536.c	6 Oct 2008 14:44:03 -0000
@@ -20,6 +20,7 @@
 #define MAIN_LOOP_HANG_TIMEOUT     90 * 1000
 #define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
 
+#ifndef CURL_DISABLE_MULTI
 static CURLMcode perform(CURLM * multi)
 {
   int handles, maxfd;
@@ -66,9 +67,11 @@
           "that it would have run forever.\n");
   return (CURLMcode) ~CURLM_OK;
 }
+#endif /* CURL_DISABLE_MULTI */
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   CURLM *multi;
   CURL *easy;
   int res = 0;
@@ -127,4 +130,7 @@
   printf("Finished!\n");
 
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib540.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib540.c,v
retrieving revision 1.7
diff -u -r1.7 lib540.c
--- tests/libtest/lib540.c	20 Sep 2008 04:26:57 -0000	1.7
+++ tests/libtest/lib540.c	6 Oct 2008 14:44:03 -0000
@@ -24,6 +24,7 @@
 #define PROXYUSERPWD libtest_arg3
 #define HOST test_argv[4]
 
+#ifndef CURL_DISABLE_MULTI
 static void init(CURLM *cm, const char* url, const char* userpwd,
                 struct curl_slist *headers)
 {
@@ -103,9 +104,11 @@
 
   return 1;
 }
+#endif /* CURL_DISABLE_MULTI */
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   CURLM *cm;
   struct curl_slist *headers = NULL;
   char buffer[246]; /* naively fixed-size */
@@ -133,4 +136,7 @@
   curl_slist_free_all(headers);
 
   return EXIT_SUCCESS;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
Index: tests/libtest/lib555.c
===================================================================
RCS file: /cvsroot/curl/curl/tests/libtest/lib555.c,v
retrieving revision 1.4
diff -u -r1.4 lib555.c
--- tests/libtest/lib555.c	20 Sep 2008 04:26:57 -0000	1.4
+++ tests/libtest/lib555.c	6 Oct 2008 14:44:03 -0000
@@ -23,6 +23,7 @@
 
 #define UPLOADTHIS "this is the blurb we want to upload\n"
 
+#ifndef CURL_DISABLE_MULTI
 static size_t readcallback(void  *ptr,
                            size_t size,
                            size_t nmemb,
@@ -57,10 +58,12 @@
   }
   return CURLIOE_OK;
 }
+#endif /* CURL_DISABLE_MULTI */
 
 
 int test(char *URL)
 {
+#ifndef CURL_DISABLE_MULTI
   int res;
   CURL *curl;
   int counter=0;
@@ -144,5 +147,8 @@
   curl_global_cleanup();
 
   return res;
+#else 
+  return 0;
+#endif /* CURL_DISABLE_MULTI */
 }
 

