mirror of
https://github.com/labwc/labwc.git
synced 2026-03-05 01:40:24 -05:00
menu: do not modify literal string constants
Mutable string literals are a "legacy" C feature best avoided. v2: move string_truncate_at_pattern() outside fill_item()
This commit is contained in:
parent
2bcd8277c4
commit
ac47be3019
1 changed files with 8 additions and 9 deletions
|
|
@ -467,16 +467,8 @@ menu_create_scene(struct menu *menu)
|
||||||
* </item>
|
* </item>
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
fill_item(char *nodename, char *content)
|
fill_item(const char *nodename, const char *content)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
* Nodenames for most menu-items end with '.item.menu' but top-level
|
|
||||||
* pipemenu items do not have the associated <menu> element so merely
|
|
||||||
* end with a '.item'
|
|
||||||
*/
|
|
||||||
string_truncate_at_pattern(nodename, ".item.menu");
|
|
||||||
string_truncate_at_pattern(nodename, ".item");
|
|
||||||
|
|
||||||
/* <item label=""> defines the start of a new item */
|
/* <item label=""> defines the start of a new item */
|
||||||
if (!strcmp(nodename, "label")) {
|
if (!strcmp(nodename, "label")) {
|
||||||
current_item = item_create(current_menu, content, false);
|
current_item = item_create(current_menu, content, false);
|
||||||
|
|
@ -572,6 +564,13 @@ entry(xmlNode *node, char *nodename, char *content)
|
||||||
printf("%s: %s\n", nodename, content ? content : (char *)cdata);
|
printf("%s: %s\n", nodename, content ? content : (char *)cdata);
|
||||||
}
|
}
|
||||||
if (in_item) {
|
if (in_item) {
|
||||||
|
/*
|
||||||
|
* Nodenames for most menu-items end with '.item.menu'
|
||||||
|
* but top-level pipemenu items do not have the associated
|
||||||
|
* <menu> element so merely end with '.item'
|
||||||
|
*/
|
||||||
|
string_truncate_at_pattern(nodename, ".item.menu");
|
||||||
|
string_truncate_at_pattern(nodename, ".item");
|
||||||
fill_item(nodename, content ? content : (char *)cdata);
|
fill_item(nodename, content ? content : (char *)cdata);
|
||||||
}
|
}
|
||||||
xmlFree(cdata);
|
xmlFree(cdata);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue