<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/d1085cc474e59bc74673104e0ffa8ea1838fb1dc">https://github.com/macports/macports-base/commit/d1085cc474e59bc74673104e0ffa8ea1838fb1dc</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d1085cc474e59bc74673104e0ffa8ea1838fb1dc
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Apr 18 00:30:55 2025 +1000

<span style='display:block; white-space:pre;color:#404040;'>    curl getsize: support -u option
</span>---
 src/pextlib1.0/curl.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

<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 1ac46b88c..948492f93 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;'>@@ -1038,6 +1038,7 @@ CurlGetSizeCmd(Tcl_Interp* interp, int objc, Tcl_Obj* const objv[])
</span>           int ignoresslcert = 0;
                char theSizeString[32];
                const char* theURL;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                const char* theUserPassString = NULL;
</span>           CURLcode theCurlCode;
                double theFileSize;
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1049,6 +1050,18 @@ CurlGetSizeCmd(Tcl_Interp* interp, int objc, Tcl_Obj* const objv[])
</span> 
                        if (strcmp(theOption, "--ignore-ssl-cert") == 0) {
                                ignoresslcert = 1;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                        } else if (strcmp(theOption, "-u") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           /* check we also have the parameter */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           if (optioncrsr < lastoption) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   optioncrsr++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   theUserPassString = Tcl_GetString(objv[optioncrsr]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   Tcl_SetResult(interp,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           "curl getsize: -u option requires a parameter",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           TCL_STATIC);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   theResult = TCL_ERROR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           }
</span>                   } else {
                                Tcl_ResetResult(interp);
                                Tcl_AppendResult(interp, "curl getsize: unknown option ", theOption, NULL);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1065,7 +1078,7 @@ CurlGetSizeCmd(Tcl_Interp* interp, int objc, Tcl_Obj* const objv[])
</span>           }
 
                /* first (second) parameter is the url */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if (objc < 3 || objc > 4) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (objc < 3 || objc > 6) {
</span>                   Tcl_WrongNumArgs(interp, 1, objv, "getsize [--ignore-ssl-cert] url");
                        theResult = TCL_ERROR;
                        break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1167,6 +1180,15 @@ CurlGetSizeCmd(Tcl_Interp* interp, int objc, Tcl_Obj* const objv[])
</span>                   }
                }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* set the l/p, if any */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (theUserPassString) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   theCurlCode = curl_easy_setopt(theHandle, CURLOPT_USERPWD, theUserPassString);
</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;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>           /* skip the header data */
                theCurlCode = curl_easy_setopt(theHandle, CURLOPT_HEADER, 0);
                if (theCurlCode != CURLE_OK) {
</pre><pre style='margin:0'>

</pre>