Backslashify also '"' characters.
authorTor Lillqvist <tml@src.gnome.org>
Sat, 29 May 1999 10:28:06 +0000 (10:28 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Sat, 29 May 1999 10:28:06 +0000 (10:28 +0000)
* gstrfuncs.c (g_strescape): Backslashify also '"' characters.

* glib.h: Document g_strescape.

12 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib.h
glib/glib.h
glib/gstrfuncs.c
gstrfuncs.c

index 84a4059..cea0ff8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
index 84a4059..cea0ff8 100644 (file)
@@ -1,10 +1,16 @@
+1999-05-29  Tor Lillqvist  <tml@iki.fi>
+
+       * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
+
+       * glib.h: Document g_strescape.
+
 1999-05-12  Tor Lillqvist  <tml@iki.fi>
 
        * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
        _fstat.
 
-       * README.win32: Advice also to remove -lmoldname from the
-       patch to the egcs-1.1.2 spec file patch.
+       * README.win32: Advice also to remove -lmoldname in the
+       patch to the egcs-1.1.2 spec file.
 
 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
 
diff --git a/glib.h b/glib.h
index b1a4148..2587368 100644 (file)
--- a/glib.h
+++ b/glib.h
@@ -1551,7 +1551,11 @@ gchar*    g_strconcat            (const gchar *string1,
                                 ...); /* NULL terminated */
 gchar*   g_strjoin             (const gchar  *separator,
                                 ...); /* NULL terminated */
+/* Return a duplicate of the string with \ and " characters escaped by
+ * a \. The returned string should be freed with g_free().
+ */
 gchar*  g_strescape            (gchar        *string);
+
 gpointer g_memdup              (gconstpointer mem,
                                 guint         byte_size);
 
index b1a4148..2587368 100644 (file)
@@ -1551,7 +1551,11 @@ gchar*    g_strconcat            (const gchar *string1,
                                 ...); /* NULL terminated */
 gchar*   g_strjoin             (const gchar  *separator,
                                 ...); /* NULL terminated */
+/* Return a duplicate of the string with \ and " characters escaped by
+ * a \. The returned string should be freed with g_free().
+ */
 gchar*  g_strescape            (gchar        *string);
+
 gpointer g_memdup              (gconstpointer mem,
                                 guint         byte_size);
 
index d490dff..2de42ae 100644 (file)
@@ -1074,25 +1074,28 @@ g_strescape (gchar *string)
 {
   gchar *q;
   gchar *escaped;
-  guint backslashes = 0;
+  guint escapes_needed = 0;
   gchar *p = string;
 
   g_return_val_if_fail (string != NULL, NULL);
 
   while (*p != '\000')
-    backslashes += (*p++ == '\\');
+    {
+      escapes_needed += (*p == '\\' || *p == '"');
+      p++;
+    }
 
-  if (!backslashes)
+  if (!escapes_needed)
     return g_strdup (string);
 
-  escaped = g_new (gchar, strlen (string) + backslashes + 1);
+  escaped = g_new (gchar, strlen (string) + escapes_needed + 1);
 
   p = string;
   q = escaped;
 
   while (*p != '\000')
     {
-      if (*p == '\\')
+      if (*p == '\\' || *p == '"')
        *q++ = '\\';
       *q++ = *p++;
     }
index d490dff..2de42ae 100644 (file)
@@ -1074,25 +1074,28 @@ g_strescape (gchar *string)
 {
   gchar *q;
   gchar *escaped;
-  guint backslashes = 0;
+  guint escapes_needed = 0;
   gchar *p = string;
 
   g_return_val_if_fail (string != NULL, NULL);
 
   while (*p != '\000')
-    backslashes += (*p++ == '\\');
+    {
+      escapes_needed += (*p == '\\' || *p == '"');
+      p++;
+    }
 
-  if (!backslashes)
+  if (!escapes_needed)
     return g_strdup (string);
 
-  escaped = g_new (gchar, strlen (string) + backslashes + 1);
+  escaped = g_new (gchar, strlen (string) + escapes_needed + 1);
 
   p = string;
   q = escaped;
 
   while (*p != '\000')
     {
-      if (*p == '\\')
+      if (*p == '\\' || *p == '"')
        *q++ = '\\';
       *q++ = *p++;
     }