Damjan Jovanovic : winemenubuilder: Escape XML special characters in menus.

Alexandre Julliard julliard at winehq.org
Mon Nov 16 11:43:53 CST 2009


Module: wine
Branch: master
Commit: 03e9fbb515585fa7d42e04e1d96c5a10a14d006c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=03e9fbb515585fa7d42e04e1d96c5a10a14d006c

Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date:   Sat Nov 14 09:10:30 2009 +0200

winemenubuilder: Escape XML special characters in menus.

---

 programs/winemenubuilder/winemenubuilder.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index 7bcdd44..e14fe81 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -991,8 +991,12 @@ static BOOL write_menu_file(const char *unix_link, const char *filename)
             struct stat st;
             name[i] = 0;
             fprintf(tempfile, "  <Menu>\n");
-            fprintf(tempfile, "    <Name>%s%s</Name>\n", count ? "" : "wine-", name);
-            fprintf(tempfile, "    <Directory>%s%s.directory</Directory>\n", count ? "" : "wine-", name);
+            fprintf(tempfile, "    <Name>%s", count ? "" : "wine-");
+            write_xml_text(tempfile, name);
+            fprintf(tempfile, "</Name>\n");
+            fprintf(tempfile, "    <Directory>%s", count ? "" : "wine-");
+            write_xml_text(tempfile, name);
+            fprintf(tempfile, ".directory</Directory>\n");
             dir_file_name = heap_printf("%s/desktop-directories/%s%s.directory",
                 xdg_data_dir, count ? "" : "wine-", name);
             if (dir_file_name)
@@ -1009,7 +1013,9 @@ static BOOL write_menu_file(const char *unix_link, const char *filename)
     name[i] = 0;
 
     fprintf(tempfile, "    <Include>\n");
-    fprintf(tempfile, "      <Filename>%s</Filename>\n", name);
+    fprintf(tempfile, "      <Filename>");
+    write_xml_text(tempfile, name);
+    fprintf(tempfile, "</Filename>\n");
     fprintf(tempfile, "    </Include>\n");
     for (i = 0; i < count; i++)
          fprintf(tempfile, "  </Menu>\n");




More information about the wine-cvs mailing list