? ignorece.diff.txt Index: include/curl/curl.h =================================================================== RCS file: /cvsroot/curl/curl/include/curl/curl.h,v retrieving revision 1.288 diff -u -r1.288 curl.h --- include/curl/curl.h 12 Dec 2005 17:11:23 -0000 1.288 +++ include/curl/curl.h 14 Dec 2005 16:37:45 -0000 @@ -912,6 +912,9 @@ /* Select "file method" to use when doing FTP */ CINIT(FTP_FILEMETHOD, LONG, 138), + /* Do not decode, even if built with zlib support */ + CINIT(IGNORE_CONTENT_ENCODING, LONG, 139), + CURLOPT_LASTENTRY /* the last unused */ } CURLoption; Index: lib/http_chunks.c =================================================================== RCS file: /cvsroot/curl/curl/lib/http_chunks.c,v retrieving revision 1.28 diff -u -r1.28 http_chunks.c --- lib/http_chunks.c 12 Jul 2005 18:15:34 -0000 1.28 +++ lib/http_chunks.c 14 Dec 2005 16:43:45 -0000 @@ -186,6 +186,11 @@ /* Write the data portion available */ #ifdef HAVE_LIBZ + if(conn->data->set.ignorece) { + if(!k->ignorebody) + result = Curl_client_write(conn->data, CLIENTWRITE_BODY, datap, + piece); + } else switch (conn->keep.content_encoding) { case IDENTITY: #endif Index: lib/transfer.c =================================================================== RCS file: /cvsroot/curl/curl/lib/transfer.c,v retrieving revision 1.290 diff -u -r1.290 transfer.c --- lib/transfer.c 24 Nov 2005 10:22:47 -0000 1.290 +++ lib/transfer.c 14 Dec 2005 16:37:45 -0000 @@ -1144,6 +1144,11 @@ Make sure that ALL_CONTENT_ENCODINGS contains all the encodings handled here. */ #ifdef HAVE_LIBZ + if(data->set.ignorece) { + if(!k->ignorebody) + result = Curl_client_write(data, CLIENTWRITE_BODY, k->str, + nread); + } else switch (k->content_encoding) { case IDENTITY: #endif Index: lib/url.c =================================================================== RCS file: /cvsroot/curl/curl/lib/url.c,v retrieving revision 1.484 diff -u -r1.484 url.c --- lib/url.c 6 Dec 2005 23:05:51 -0000 1.484 +++ lib/url.c 14 Dec 2005 16:37:45 -0000 @@ -1460,6 +1460,10 @@ data->set.ignorecl = va_arg(param, long)?TRUE:FALSE; break; + case CURLOPT_IGNORE_CONTENT_ENCODING: + data->set.ignorece = va_arg(param, long)?TRUE:FALSE; + break; + default: /* unknown tag and its companion, just ignore: */ result = CURLE_FAILED_INIT; /* correct this */ Index: lib/urldata.h =================================================================== RCS file: /cvsroot/curl/curl/lib/urldata.h,v retrieving revision 1.275 diff -u -r1.275 urldata.h --- lib/urldata.h 28 Nov 2005 23:06:00 -0000 1.275 +++ lib/urldata.h 14 Dec 2005 16:37:45 -0000 @@ -1085,6 +1085,7 @@ bool ignorecl; /* ignore content length */ bool ftp_skip_ip; /* skip the IP address the FTP server passes on to us */ + bool ignorece; /* ignore content encoding */ }; /*