[gnome-commander] Adds string escaping in some circumstances



commit e716291e5755eb334c439c06cd627487eda6a57f
Author: Uwe Scholz <uwescholz src gnome org>
Date:   Sun Aug 14 22:01:34 2016 +0200

    Adds string escaping in some circumstances

 libgcmd/libgcmd-utils.h    |   15 ++++++++++++---
 src/gnome-cmd-file-list.cc |    2 +-
 src/utils.cc               |    4 +++-
 3 files changed, 16 insertions(+), 5 deletions(-)
---
diff --git a/libgcmd/libgcmd-utils.h b/libgcmd/libgcmd-utils.h
index dbc9557..371e9bc 100644
--- a/libgcmd/libgcmd-utils.h
+++ b/libgcmd/libgcmd-utils.h
@@ -26,17 +26,26 @@ gchar *get_utf8 (const gchar *unknown);
 
 inline gchar *get_bold_text (const gchar *in)
 {
-    return g_strdup_printf ("<span weight=\"bold\">%s</span>", in);
+    gchar *escaped_text = g_markup_escape_text (in, -1);
+    gchar *result = g_strdup_printf("<span weight=\"bold\">%s</span>", escaped_text);
+    g_free (escaped_text);
+    return result;
 }
 
 inline gchar *get_mono_text (const gchar *in)
 {
-    return g_strdup_printf ("<span font_family=\"monospace\">%s</span>", in);
+    gchar *escaped_text = g_markup_escape_text (in, -1);
+    gchar *result = g_strdup_printf("<span font_family=\"monospace\">%s</span>", escaped_text);
+    g_free (escaped_text);
+    return result;
 }
 
 inline gchar *get_bold_mono_text (const gchar *in)
 {
-    return g_strdup_printf ("<span font_family=\"monospace\" weight=\"bold\">%s</span>", in);
+    gchar *escaped_text = g_markup_escape_text (in, -1);
+    gchar *result = g_strdup_printf("<span font_family=\"monospace\" weight=\"bold\">%s</span>", 
escaped_text);
+    g_free (escaped_text);
+    return result;
 }
 
 #endif //__LIB_GCMD_UTILS_H__
diff --git a/src/gnome-cmd-file-list.cc b/src/gnome-cmd-file-list.cc
index 3e67c07..f279a31 100644
--- a/src/gnome-cmd-file-list.cc
+++ b/src/gnome-cmd-file-list.cc
@@ -2972,5 +2972,5 @@ void GnomeCmdFileList::drop_files(GnomeVFSXferOptions xferOptions, GList *uri_li
 
 XML::xstream &operator << (XML::xstream &xml, GnomeCmdFileList &fl)
 {
-    return xml << XML::tag("Tab") << XML::attr("path") << GNOME_CMD_FILE (fl.cwd)->get_real_path() << 
XML::attr("sort") << fl.get_sort_column() << XML::attr("asc") << fl.get_sort_order() << XML::attr("lock") << 
fl.locked << XML::endtag();
+    return xml << XML::tag("Tab") << XML::attr("path") << XML::escape((const char*) GNOME_CMD_FILE 
(fl.cwd)->get_real_path()) << XML::attr("sort") << fl.get_sort_column() << XML::attr("asc") << 
fl.get_sort_order() << XML::attr("lock") << fl.locked << XML::endtag();
 }
diff --git a/src/utils.cc b/src/utils.cc
index 0bf5881..017d845 100644
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -200,7 +200,9 @@ gint run_simple_dialog (GtkWidget *parent, gboolean ignore_close_box,
     va_end (button_title_args);
 
     dialog = gtk_message_dialog_new (*main_win, GTK_DIALOG_MODAL, msg_type, GTK_BUTTONS_NONE, NULL);
-    gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), text);
+    gchar *escaped_text = g_markup_escape_text (text, -1);
+    gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), escaped_text);
+    g_free(escaped_text);
 
     if (title)
         gtk_window_set_title (GTK_WINDOW (dialog), title);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]