Moved gurifuncs from gio to glib
authorAlexander Larsson <alexl@redhat.com>
Tue, 27 Nov 2007 14:57:45 +0000 (14:57 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Tue, 27 Nov 2007 14:57:45 +0000 (14:57 +0000)
2007-11-27  Alexander Larsson  <alexl@redhat.com>

        * gio/Makefile.am:
        * gio/gurifuncs.[ch]:
        * glib/Makefile.am:
        * glib/gstring.[ch]:
        * glib/gurifuncs.[ch]:
Moved gurifuncs from gio to glib

svn path=/trunk/; revision=5955

ChangeLog
gio/Makefile.am
glib/Makefile.am
glib/gstring.c
glib/gstring.h
glib/gurifuncs.c [moved from gio/gurifuncs.c with 74% similarity]
glib/gurifuncs.h [moved from gio/gurifuncs.h with 93% similarity]

index 06bc4fc..0f7e33d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2007-11-27  Alexander Larsson  <alexl@redhat.com>
 
+        * gio/Makefile.am:
+        * gio/gurifuncs.[ch]:
+        * glib/Makefile.am:
+        * glib/gstring.[ch]:
+        * glib/gurifuncs.[ch]:
+       Moved gurifuncs from gio to glib
+
+2007-11-27  Alexander Larsson  <alexl@redhat.com>
+
         * gio/gfileinfo.[ch]:
         * glib/gfileutils.[ch]:
         Move g_format_file_size_for_display from gio to glib
index 4141162..b33750a 100644 (file)
@@ -143,7 +143,6 @@ libgio_2_0_la_SOURCES =             \
        gthemedicon.c           \
        gunionvolumemonitor.c   \
        gunionvolumemonitor.h   \
-       gurifuncs.c             \
        gvfs.c                  \
        gvolume.c               \
        gvolumemonitor.c        \
@@ -211,7 +210,6 @@ gioinclude_HEADERS = \
        gsocketinputstream.h    \
        gsocketoutputstream.h   \
        gthemedicon.h           \
-       gurifuncs.h             \
        gvfs.h                  \
        gvolume.h               \
        gvolumemonitor.h        \
index 287b60b..72472c4 100644 (file)
@@ -157,6 +157,7 @@ libglib_2_0_la_SOURCES =    \
        gunidecomp.h            \
        gunidecomp.c            \
        gunicodeprivate.h       \
+       gurifuncs.c             \
        gutils.c                \
        gdebug.h                \
        gprintf.c               \
@@ -230,6 +231,7 @@ glibsubinclude_HEADERS =   \
        gtree.h         \
        gtypes.h        \
        gunicode.h      \
+       gurifuncs.h             \
        gutils.h        \
        gwin32.h        \
        gprintf.h
index 0542339..712dc1c 100644 (file)
@@ -1398,5 +1398,88 @@ g_string_append_printf (GString     *string,
   va_end (args);
 }
 
+#define SUB_DELIM_CHARS  "!$&'()*+,;="
+
+static gboolean
+is_valid (char c, const char *reserved_chars_allowed)
+{
+  if (g_ascii_isalnum (c) ||
+      c == '-' ||
+      c == '.' ||
+      c == '_' ||
+      c == '~')
+    return TRUE;
+
+  if (reserved_chars_allowed &&
+      strchr (reserved_chars_allowed, c) != NULL)
+    return TRUE;
+  
+  return FALSE;
+}
+
+static gboolean 
+gunichar_ok (gunichar c)
+{
+  return
+    (c != (gunichar) -2) &&
+    (c != (gunichar) -1);
+}
+
+/**
+ * g_string_append_uri_escaped:
+ * @string: a #GString
+ * @unescaped: a string
+ * @reserved_chars_allowed: a string of reserved characters allowed to be used
+ * @allow_utf8: set %TRUE if the escaped string may include UTF8 characters
+ * 
+ * Appends @unescaped to @string, escaped any characters that
+ * are reserved in URIs using URI-style escape sequences.
+ * 
+ * Returns: @string
+ *
+ * Since: 2.16
+ **/
+GString *
+g_string_append_uri_escaped (GString *string,
+                            const char *unescaped,
+                            const char *reserved_chars_allowed,
+                            gboolean allow_utf8)
+{
+  unsigned char c;
+  const char *end;
+  static const gchar hex[16] = "0123456789ABCDEF";
+
+  g_return_val_if_fail (string != NULL, NULL);
+  g_return_val_if_fail (unescaped != NULL, NULL);
+
+  end = unescaped + strlen (unescaped);
+  
+  while ((c = *unescaped) != 0)
+    {
+      if (c >= 0x80 && allow_utf8 &&
+         gunichar_ok (g_utf8_get_char_validated (unescaped, end - unescaped)))
+       {
+         int len = g_utf8_skip [c];
+         g_string_append_len (string, unescaped, len);
+         unescaped += len;
+       }
+      else if (is_valid (c, reserved_chars_allowed))
+       {
+         g_string_append_c (string, c);
+         unescaped++;
+       }
+      else
+       {
+         g_string_append_c (string, '%');
+         g_string_append_c (string, hex[((guchar)c) >> 4]);
+         g_string_append_c (string, hex[((guchar)c) & 0xf]);
+         unescaped++;
+       }
+    }
+
+  return string;
+}
+
+
 #define __G_STRING_C__
 #include "galiasdef.c"
index 4201816..427b56e 100644 (file)
@@ -129,6 +129,10 @@ void         g_string_append_vprintf    (GString    *string,
 void         g_string_append_printf     (GString        *string,
                                         const gchar     *format,
                                         ...) G_GNUC_PRINTF (2, 3);
+GString *    g_string_append_uri_escaped(GString         *string,
+                                        const char      *unescaped,
+                                        const char      *reserved_chars_allowed,
+                                        gboolean         allow_utf8);
 
 /* -- optimize g_strig_append_c --- */
 #ifdef G_CAN_INLINE
similarity index 74%
rename from gio/gurifuncs.c
rename to glib/gurifuncs.c
index 757a9c0..150f366 100644 (file)
@@ -62,6 +62,8 @@ unescape_character (const char *scanner)
  * 
  * Returns: an unescaped version of @escaped_string or %NULL on error.
  * The returned string should be freed when no longer needed.
+ *
+ * Since: 2.16
  **/
 char *
 g_uri_unescape_segment (const char *escaped_string,
@@ -126,6 +128,8 @@ g_uri_unescape_segment (const char *escaped_string,
  * 
  * Returns: an unescaped version of @escaped_string. The returned string 
  * should be freed when no longer needed.
+ *
+ * Since: 2.16
  **/
 char *
 g_uri_unescape_string (const char *escaped_string,
@@ -144,6 +148,8 @@ g_uri_unescape_string (const char *escaped_string,
  * 
  * Returns: The "Scheme" component of the URI, or %NULL on error. 
  * The returned string should be freed when no longer needed.
+ *
+ * Since: 2.16
  **/
 char *
 g_uri_get_scheme (const char  *uri)
@@ -183,85 +189,6 @@ g_uri_get_scheme (const char  *uri)
   return g_strndup (uri, p - uri - 1);
 }
 
-#define SUB_DELIM_CHARS  "!$&'()*+,;="
-
-static gboolean
-is_valid (char c, const char *reserved_chars_allowed)
-{
-  if (g_ascii_isalnum (c) ||
-      c == '-' ||
-      c == '.' ||
-      c == '_' ||
-      c == '~')
-    return TRUE;
-
-  if (reserved_chars_allowed &&
-      strchr (reserved_chars_allowed, c) != NULL)
-    return TRUE;
-  
-  return FALSE;
-}
-
-static gboolean 
-gunichar_ok (gunichar c)
-{
-  return
-    (c != (gunichar) -2) &&
-    (c != (gunichar) -1);
-}
-
-/**
- * g_string_append_uri_escaped:
- * @string: a #GString to append to.
- * @unescaped: the input C string of unescaped URI data.
- * @reserved_chars_allowed: a string of reserve characters allowed to be used.
- * @allow_utf8: set %TRUE if the return value may include UTF8 characters.
- * 
- * Appends an escaped URI to @string.
- * 
- * Returns: a #GString with the escaped URI appended.
- **/
-GString *
-g_string_append_uri_escaped (GString *string,
-                            const char *unescaped,
-                            const char *reserved_chars_allowed,
-                            gboolean allow_utf8)
-{
-  unsigned char c;
-  const char *end;
-  static const gchar hex[16] = "0123456789ABCDEF";
-
-  g_return_val_if_fail (string != NULL, NULL);
-  g_return_val_if_fail (unescaped != NULL, NULL);
-
-  end = unescaped + strlen (unescaped);
-  
-  while ((c = *unescaped) != 0)
-    {
-      if (c >= 0x80 && allow_utf8 &&
-         gunichar_ok (g_utf8_get_char_validated (unescaped, end - unescaped)))
-       {
-         int len = g_utf8_skip [c];
-         g_string_append_len (string, unescaped, len);
-         unescaped += len;
-       }
-      else if (is_valid (c, reserved_chars_allowed))
-       {
-         g_string_append_c (string, c);
-         unescaped++;
-       }
-      else
-       {
-         g_string_append_c (string, '%');
-         g_string_append_c (string, hex[((guchar)c) >> 4]);
-         g_string_append_c (string, hex[((guchar)c) & 0xf]);
-         unescaped++;
-       }
-    }
-
-  return string;
-}
-
 /**
  * g_uri_escape_string:
  * @unescaped: the unescaped input string.
@@ -272,6 +199,8 @@ g_string_append_uri_escaped (GString *string,
  * 
  * Returns: an escaped version of @unescaped. The returned string should be 
  * freed when no longer needed.
+ *
+ * Since: 2.16
  **/
 char *
 g_uri_escape_string (const char *unescaped,
similarity index 93%
rename from gio/gurifuncs.h
rename to glib/gurifuncs.h
index f162d0d..a59db6b 100644 (file)
@@ -71,13 +71,6 @@ char *   g_uri_get_scheme            (const char *uri);
 char *   g_uri_escape_string         (const char *unescaped,
                                      const char *reserved_chars_allowed,
                                      gboolean    allow_utf8);
-GString *g_string_append_uri_escaped (GString    *string,
-                                     const char *unescaped,
-                                     const char *reserved_chars_allowed,
-                                     gboolean    allow_utf8);
-
-
-
 
 G_END_DECLS