A URI scheme must start with a letter, even if later more characters are
authorBastien Nocera <hadess@hadess.net>
Tue, 13 May 2008 12:42:40 +0000 (12:42 +0000)
committerBastien Nocera <hadess@src.gnome.org>
Tue, 13 May 2008 12:42:40 +0000 (12:42 +0000)
2008-05-13  Bastien Nocera  <hadess@hadess.net>

* gfile.c (has_valid_scheme): A URI scheme must start with a
letter, even if later more characters are allowed (#532852)

svn path=/trunk/; revision=6887

gio/ChangeLog
gio/gfile.c

index e160185..9063ada 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-13  Bastien Nocera  <hadess@hadess.net>
+
+       * gfile.c (has_valid_scheme): A URI scheme must start with a
+       letter, even if later more characters are allowed (#532852)
+
 2008-05-05  Michael Natterer  <mitch@imendio.com>
 
        * Makefile.am. build with G_DISABLE_SINGLE_INCLUDES to prevent
index cf255fb..941fa81 100644 (file)
@@ -4714,6 +4714,9 @@ is_valid_scheme_character (char c)
   return g_ascii_isalnum (c) || c == '+' || c == '-' || c == '.';
 }
 
+/* Following RFC 2396, valid schemes are built like:
+ *       scheme        = alpha *( alpha | digit | "+" | "-" | "." )
+ */
 static gboolean
 has_valid_scheme (const char *uri)
 {
@@ -4721,7 +4724,7 @@ has_valid_scheme (const char *uri)
   
   p = uri;
   
-  if (!is_valid_scheme_character (*p))
+  if (!g_ascii_isalpha (*p))
     return FALSE;
 
   do {