Module: wine Branch: master Commit: 03e9fbb515585fa7d42e04e1d96c5a10a14d006c URL: http://source.winehq.org/git/wine.git/?a=commit;h=03e9fbb515585fa7d42e04e1d9...
Author: Damjan Jovanovic damjan.jov@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");