]> git.sven.stormbind.net Git - sven/tclcurl.git/commitdiff
Add d/patches/bts801734.patch - thanks to Christian Werner!
authorSven Hoexter <sven@stormbind.net>
Sat, 17 Oct 2015 21:01:03 +0000 (23:01 +0200)
committerSven Hoexter <sven@stormbind.net>
Sat, 17 Oct 2015 21:09:42 +0000 (23:09 +0200)
debian/changelog
debian/patches/bts801734.patch [new file with mode: 0644]
debian/patches/series

index 19ed71f70ae2b288e59dd5c7a464c79a46a5da8c..66a598450c231e15533d4a89438ff638f4f7d2ca 100644 (file)
@@ -4,6 +4,8 @@ tclcurl (7.22.0+hg20151017-1) UNRELEASED; urgency=low
     + Removed all patches, all applied upstream. Thanks Steve.
   * Remove d/watch. The old download location is no longer available.
   * Update d/copyright and add the link to Steve Havelkas bitbuck repository.
+  * Add d/patches/bts801734.patch - thanks to Christian Werner!
+    (Closes: #801734)
 
  -- Sven Hoexter <hoexter@debian.org>  Sat, 17 Oct 2015 22:16:02 +0200
 
diff --git a/debian/patches/bts801734.patch b/debian/patches/bts801734.patch
new file mode 100644 (file)
index 0000000..321bd30
--- /dev/null
@@ -0,0 +1,52 @@
+Description: close the file handle in time in case -file option is used 
+Origin: https://www.androwish.org/index.html/vpatch?from=9afc8918cdeec6d7&to=e4864fde820aac71
+Author: Christian Werner <chw@ch-werner.de>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801734
+Forwarded: yes, email
+
+Index: b/generic/tclcurl.c
+===================================================================
+--- a/generic/tclcurl.c
++++ b/generic/tclcurl.c
+@@ -465,6 +465,12 @@ curlSetOpts(Tcl_Interp *interp, struct c
+         case 1:
+             Tcl_Free(curlData->outFile);
+             curlData->outFile=curlstrdup(Tcl_GetString(objv));
++            if (curlData->outFlag) {
++                if (curlData->outHandle!=NULL) {
++                    fclose(curlData->outHandle);
++                    curlData->outHandle=NULL;
++                }
++            }
+             if ((strcmp(curlData->outFile,""))&&(strcmp(curlData->outFile,"stdout"))) {
+                 curlData->outFlag=1;
+             } else {
+@@ -1043,6 +1049,14 @@ curlSetOpts(Tcl_Interp *interp, struct c
+         case 62:
+             Tcl_Free(curlData->bodyVarName);
+             curlData->bodyVarName=curlstrdup(Tcl_GetString(objv));
++            if (curlData->outFlag) {
++                if (curlData->outHandle!=NULL) {
++                    fclose(curlData->outHandle);
++                    curlData->outHandle=NULL;
++                }
++                curl_easy_setopt(curlHandle,CURLOPT_WRITEDATA,NULL);
++            }
++            curlData->outFlag=0;
+             if (curl_easy_setopt(curlHandle,CURLOPT_WRITEFUNCTION,
+                     curlBodyReader)) {
+                 return TCL_ERROR;
+@@ -1080,6 +1094,13 @@ curlSetOpts(Tcl_Interp *interp, struct c
+             break;
+         case 65:
+             curlData->writeProc=curlstrdup(Tcl_GetString(objv));
++            if (curlData->outFlag) {
++                if (curlData->outHandle!=NULL) {
++                    fclose(curlData->outHandle);
++                    curlData->outHandle=NULL;
++                }
++                curl_easy_setopt(curlHandle,CURLOPT_WRITEDATA,NULL);
++          }
+             curlData->outFlag=0;
+             if (curl_easy_setopt(curlHandle,CURLOPT_WRITEFUNCTION,
+                     curlWriteProcInvoke)) {
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0c767c3f7b4eaf7123f01657c580ef4bddf8894e 100644 (file)
@@ -1 +1 @@
-
+bts801734.patch