]> granicus.if.org Git - curl/commitdiff
Stopped using ranges in scanf character sequences (e.g. %[a-z]) since that
authorDan Fandrich <dan@coneharvesters.com>
Sun, 22 Jun 2008 06:57:00 +0000 (06:57 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Sun, 22 Jun 2008 06:57:00 +0000 (06:57 +0000)
is not ANSI C, just a common extension.  This caused problems on
at least Open Watcom C.

CHANGES
lib/parsedate.c
lib/url.c

diff --git a/CHANGES b/CHANGES
index be600cbc7b3574336b23e333fe1d0347a014a8c1..61b9fbc6fa2543aa943ee66eef92495c75c5f8b5 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
 
                                   Changelog
 
+Daniel Fandrich (21 Jun 2008)
+- Stopped using ranges in scanf character sequences (e.g. %[a-z]) since that
+  is not ANSI C, just a common extension.  This caused problems on
+  at least Open Watcom C.
+
 Yang Tse (20 Jun 2008)
 - Modified configuration script to actually verify if the compiler is good
   enough at detecting compilation errors or at least it has been properly
index 78cc96fe24f8e82f75e9a442beddd9a3745097e5..d1d8d58378edb8b227a60ca05e7df861d8cb5b49 100644 (file)
@@ -84,8 +84,6 @@
 
 #include <curl/curl.h>
 
-static time_t parsedate(const char *date);
-
 const char * const Curl_wkday[] =
 {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
 static const char * const weekday[] =
@@ -248,7 +246,7 @@ static time_t parsedate(const char *date)
       /* a name coming up */
       char buf[32]="";
       size_t len;
-      sscanf(date, "%31[A-Za-z]", buf);
+      sscanf(date, "%31[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]", buf);
       len = strlen(buf);
 
       if(wdaynum == -1) {
index 6391edb284e50b7b22c8581a1b42391023bc1d0d..e61ec298cb01239bba80b0825e2e420885eae7f7 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -3839,7 +3839,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
    * The conn->host.name is currently [user:passwd@]host[:port] where host
    * could be a hostname, IPv4 address or IPv6 address.
    *************************************************************/
-  if((1 == sscanf(conn->host.name, "[%*39[0-9a-fA-F:.]%c", &endbracket)) &&
+  if((1 == sscanf(conn->host.name, "[%*39[0123456789abcdefABCDEF:.]%c", &endbracket)) &&
      (']' == endbracket)) {
     /* this is a RFC2732-style specified IP-address */
     conn->bits.ipv6_ip = TRUE;