Menu parser: remove d-quotes around title of entry
authorChristophe CURIS <christophe.curis@free.fr>
Tue, 17 Jul 2012 22:19:55 +0000 (18 00:19 +0200)
committerCarlos R. Mafra <crmafra@gmail.com>
Thu, 19 Jul 2012 10:23:29 +0000 (19 11:23 +0100)
When a menu entry contains a space, it is necessary to enclose it
in simple or double quotes; these were not removed and so would
appear in the menu.

WINGs/menuparser.c

index 881c4e8..97c6728 100644 (file)
@@ -222,6 +222,21 @@ Bool WMenuParserGetLine(WMenuParser top_parser, char **title, char **command, ch
                }
        }
 
+       if (title != NULL) {
+               char eot, *src, *dst;
+
+               src = *title;
+               eot = *src++;
+               if ((eot == '"') || (eot == '\'')) {
+                       dst = *title;
+                       while (*src != '\0')
+                               *dst++ = *src++;
+                       if ((dst > *title) && (dst[-1] == eot))
+                               dst--;
+                       *dst = '\0';
+               }
+       }
+
        if (params != NULL) {
                lineparam[sizeof(lineparam) - 1] = '\0';
                *parameter = wstrdup(lineparam);