<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/8c41ca7c752b29a6df48fc7ebf14b8a80aa43d57">https://github.com/macports/macports-base/commit/8c41ca7c752b29a6df48fc7ebf14b8a80aa43d57</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 8c41ca7  Enable cURL's automatic decompression
</span>8c41ca7 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8c41ca7c752b29a6df48fc7ebf14b8a80aa43d57
</span>Author: David Gilman <davidgilman1@gmail.com>
AuthorDate: Fri Dec 27 22:34:21 2019 -0600

<span style='display:block; white-space:pre;color:#404040;'>    Enable cURL's automatic decompression
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/55011
</span>---
 src/pextlib1.0/curl.c         | 25 ++++++++++++++++++++++++-
 src/pextlib1.0/tests/curl.tcl | 26 ++++++++++++++++++++++----
 2 files changed, 46 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/curl.c b/src/pextlib1.0/curl.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 70d3e81..b160618 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/curl.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pextlib1.0/curl.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,6 +59,12 @@
</span> #define _CURL_MINIMUM_XFER_TIMEOUT        ((long)(60))            /* 1 minute */
 #define _CURL_MINIMUM_PROGRESS_INTERVAL ((double)(0.2)) /* 0.2 seconds */
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined CURLOPT_ACCEPT_ENCODING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _CURL_ENCODING CURLOPT_ACCEPT_ENCODING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#elif defined CURLOPT_ENCODING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _CURL_ENCODING CURLOPT_ENCODING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> /* ========================================================================= **
  * Definitions
  * ========================================================================= */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -150,7 +156,7 @@ SetResultFromCurlMErrorCode(Tcl_Interp *interp, CURLMcode inErrorCode)
</span> /**
  * curl fetch subcommand entry point.
  *
<span style='display:block; white-space:pre;background:#ffe0e0;'>- * syntax: curl fetch [--disable-epsv] [--ignore-ssl-cert] [--remote-time] [-u userpass] [--effective-url lasturlvar] [--progress "builtin"|callback] url filename
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * syntax: curl fetch [--disable-epsv] [--ignore-ssl-cert] [--remote-time] [-u userpass] [--effective-url lasturlvar] [--progress "builtin"|callback] [--disable-compression] url filename
</span>  *
  * @param interp               current interpreter
  * @param objc                 number of parameters
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,6 +197,7 @@ CurlFetchCmd(Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[])
</span>           struct curl_slist *headers = NULL;
                struct CURLMsg *info = NULL;
                int running; /* number of running transfers */
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                char* acceptEncoding = "";
</span> 
                /* we might have options and then the url and the file */
                /* let's process the options first */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -276,6 +283,8 @@ CurlFetchCmd(Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[])
</span>                                   theResult = TCL_ERROR;
                                        break;
                                }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+         } else if (strcmp(theOption, "--disable-compression") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           acceptEncoding = NULL;
</span>                   } else {
                                Tcl_ResetResult(interp);
                                Tcl_AppendResult(interp, "curl fetch: unknown option ", theOption, NULL);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -487,6 +496,20 @@ CurlFetchCmd(Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[])
</span>                   }
                }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                /* we want compression by default, but can optionally disable it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            * a CURLOPT_ACCEPT_ENCODING of "" means to let cURL write the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            * Accept-Encoding header for you, based on what the library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            * was compiled to support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            * A value of NULL disables all attemps at decompressing responses.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifdef _CURL_ENCODING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           theCurlCode = curl_easy_setopt(theHandle, _CURL_ENCODING, acceptEncoding);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (theCurlCode != CURLE_OK) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   theResult = SetResultFromCurlErrorCode(interp, theCurlCode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>           /* Clear the Pragma: no-cache header */
                headers = curl_slist_append(headers, "Pragma:");
                /* Append any optional headers */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/tests/curl.tcl b/src/pextlib1.0/tests/curl.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index f91bb3b..0d55a84 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/tests/curl.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pextlib1.0/tests/curl.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,14 +32,32 @@ proc main {pextlibname} {
</span>   #curl fetch -u "I accept www.opensource.org/licenses/cpl:." http://www.research.att.com/~gsf/download/tgz/sfio.2005-02-01.tgz $tempfile
        #test {[md5 file $tempfile] == "48f45c7c77c23ab0ccca48c22b3870de"}
        
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        curl fetch https://www.whatsmyip.org/http-compression-test/ $tempfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   grepper $tempfile {gz_yes}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   curl fetch --disable-compression https://www.whatsmyip.org/http-compression-test/ $tempfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   grepper $tempfile {gz_no}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>   file delete -force $tempfile
 }
 
 proc test {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[catch {uplevel 1 expr $args} result] || !$result} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts "[uplevel 1 subst -nocommands $args] == $result"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[catch {uplevel 1 expr $args} result] || !$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           puts "[uplevel 1 subst -nocommands $args] == $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc grepper {filepath regex} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   set hasMatch 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   set fd [open $filepath]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   while {[gets $fd line] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if {[regexp $regex $line all]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   set hasMatch 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   close $fd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   test {$hasMatch == 1}
</span> }
 
 main $argv
</pre><pre style='margin:0'>

</pre>