This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Difference in 32/64-bit curl.


Christian Franke wrote:
Corinna Vinschen wrote:
On Apr 23 23:56, Christian Franke wrote:
Fredrik Rothamel wrote:
I just noticed that in 64-bit cygwin curl always include the
http-headers in the response.
(Old behaviour is to only include headers when -i option is
specified) >
Is this an intentional change?
Unlikely. In this case it should be possible to revert the default
-i (--include) with --no-include.

What about a type issue?  int vs. long?

Yes, option is possibly set as int (bool) but retrieved as long:

src/tool_cfgable.h:89:
  bool include_headers;     /* ... */

src/tool_operate.c:886:
  my_setopt(curl, CURLOPT_HEADER, config->include_headers);

lib/url.c:704:
case CURLOPT_HEADER:
...
  data->set.include_header = (0 != va_arg(param, long))?TRUE:FALSE;



The attached patch would actually fix the issue. Likely not the correct way to do this as va_arg(param, long) is also used for the other integer options.

Is this possibly an upstream bug which is hidden on Linux et al. due to a different x64 ABI (which requires register parameter zero extension) ?

Christian

--- origsrc/curl-7.29.0/lib/url.c	2013-02-06 10:47:19.000000000 +0100
+++ src/curl-7.29.0/lib/url.c	2013-04-24 22:20:27.418755700 +0200
@@ -705,7 +705,7 @@ CURLcode Curl_setopt(struct SessionHandl
     /*
      * Set to include the header in the general data output stream.
      */
-    data->set.include_header = (0 != va_arg(param, long))?TRUE:FALSE;
+    data->set.include_header = (0 != va_arg(param, int))?TRUE:FALSE;
     break;
   case CURLOPT_NOPROGRESS:
     /*

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]