From 03e9fbb515585fa7d42e04e1d96c5a10a14d006c Mon Sep 17 00:00:00 2001 From: Damjan Jovanovic Date: Sat, 14 Nov 2009 09:10:30 +0200 Subject: [PATCH] winemenubuilder: Escape XML special characters in menus. --- programs/winemenubuilder/winemenubuilder.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index 7bcdd44991b..e14fe813ddc 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, " \n"); - fprintf(tempfile, " %s%s\n", count ? "" : "wine-", name); - fprintf(tempfile, " %s%s.directory\n", count ? "" : "wine-", name); + fprintf(tempfile, " %s", count ? "" : "wine-"); + write_xml_text(tempfile, name); + fprintf(tempfile, "\n"); + fprintf(tempfile, " %s", count ? "" : "wine-"); + write_xml_text(tempfile, name); + fprintf(tempfile, ".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, " \n"); - fprintf(tempfile, " %s\n", name); + fprintf(tempfile, " "); + write_xml_text(tempfile, name); + fprintf(tempfile, "\n"); fprintf(tempfile, " \n"); for (i = 0; i < count; i++) fprintf(tempfile, " \n");