Dan Fandrich [Thu, 23 Oct 2008 01:20:57 +0000 (01:20 +0000)]
Created Curl_raw_nequal() which does a C-locale string case comparison.
Changed checkprefix() to use it and those instances of strnequal() that
compare host names or other protocol strings that are defined to be
independent of case in the C locale. This should fix a few more
Turkish locale problems.
Daniel Stenberg [Mon, 20 Oct 2008 21:56:35 +0000 (21:56 +0000)]
added a NULL pointer check for the name field as it can in fact be NULL when
dereferenced here, if the app passes in a funny combo. Detected by coverity.com
Daniel Stenberg [Fri, 17 Oct 2008 06:03:37 +0000 (06:03 +0000)]
After having studied one of the coverity.com reports at length last night, I
decided it was a good idea to properly document my thoughts in a comment near
the code that was identified as a possible flaw. A false positive as far as I
can see.
Daniel Stenberg [Thu, 16 Oct 2008 20:21:22 +0000 (20:21 +0000)]
- Igor Novoseltsev added CURLOPT_PROXYUSER and CURLOPT_PROXYPASSWORD that then
make CURLOPT_PROXYUSERPWD sort of deprecated. The primary motive for adding
these new options is that they have no problems with the colon separator
that the CURLOPT_PROXYUSERPWD option does.
Daniel Stenberg [Thu, 16 Oct 2008 07:59:00 +0000 (07:59 +0000)]
Curl_ascii_equal() must not assume that the string is actually ASCII (so that a-z
are consecutive and with a 0x20 "distance" to the uppercase letter), since we do
support EBCDIC as well. Thus I replaced the macro with a (larger) switch case.
Daniel Stenberg [Wed, 15 Oct 2008 21:43:48 +0000 (21:43 +0000)]
- Pascal Terjan filed bug #2154627
(http://curl.haxx.se/bug/view.cgi?id=2154627) which pointed out that libcurl
uses strcasecmp() in multiple places where it causes failures when the
Turkish locale is used. This is because 'i' and 'I' isn't the same letter so
strcasecmp() on those letters are different in Turkish than in English (or
just about all other languages). I thus introduced a totally new internal
function in libcurl (called Curl_ascii_equal) for doing case insentive
comparisons for english-(ascii?) style strings that thus will make "file"
and "FILE" match even if the Turkish locale is selected.
Yang Tse [Wed, 15 Oct 2008 18:10:02 +0000 (18:10 +0000)]
Ensure that shell variable contents which have active meaning
to the shell echo command are not interpreted when trying to
remove extra whitespace from shell variable content.
Dan Fandrich [Wed, 15 Oct 2008 17:41:02 +0000 (17:41 +0000)]
A <precheck> command is considered to have failed if it returns a non-zero
return code. This way, if the precheck command can't be run at all for
whatever reason, it's treated as a precheck failure which causes the
test to be skipped.
Daniel Stenberg [Wed, 15 Oct 2008 07:43:48 +0000 (07:43 +0000)]
- John Wilkinson filed bug #2155496
(http://curl.haxx.se/bug/view.cgi?id=2155496) pointing out an error case
without a proper human-readable error message. When a read callback returns
a too large value (like when trying to return a negative number) it would
trigger and the generic error message then makes the proplem slightly
different to track down. I've added an error message for this now.
Daniel Stenberg [Mon, 13 Oct 2008 22:21:01 +0000 (22:21 +0000)]
Prevent the accidental passing along NULL for the cases where the --trace
options don't succeed in opening the target file etc. Detected by coverity.com
Daniel Stenberg [Mon, 13 Oct 2008 21:03:12 +0000 (21:03 +0000)]
Removed superfluous check of clist->name, as in this code path that pointer
has already been dereferenced so it is bound to be valid. Pointed out to us
by coverity.com
Yang Tse [Sun, 12 Oct 2008 16:57:40 +0000 (16:57 +0000)]
LCC compiler adjustments:
Highest warning level is double -A, next is single -A.
Due to the big number of warnings these trigger on third
party header files it is impratical for us to use any of
them here. If you want them simply define it in CPPFLAGS.