… | |
… | |
22 | * summary that appears at the end of this file was taken from there. |
22 | * summary that appears at the end of this file was taken from there. |
23 | *----------------------------------------------------------------------*/ |
23 | *----------------------------------------------------------------------*/ |
24 | |
24 | |
25 | #include "../config.h" /* NECESSARY */ |
25 | #include "../config.h" /* NECESSARY */ |
26 | |
26 | |
27 | #include <stdlib.h> |
27 | #include <cstdlib> |
28 | #include <wchar.h> |
|
|
29 | |
28 | |
30 | #include "rxvt.h" /* NECESSARY */ |
29 | #include "rxvt.h" /* NECESSARY */ |
31 | #ifdef MENUBAR |
30 | #ifdef MENUBAR |
32 | #include "version.h" |
31 | #include "version.h" |
33 | #include "menubar.h" |
32 | #include "menubar.h" |
… | |
… | |
1847 | if (name != NULL || str != NULL) |
1846 | if (name != NULL || str != NULL) |
1848 | { |
1847 | { |
1849 | if (name == NULL || str == NULL || str <= (name + 1) |
1848 | if (name == NULL || str == NULL || str <= (name + 1) |
1850 | || (name > path && name[-1] != '/')) |
1849 | || (name > path && name[-1] != '/')) |
1851 | { |
1850 | { |
1852 | rxvt_print_error ("menu error <%s>\n", path); |
1851 | rxvt_warn ("menu error A<%s>, continuing.\n", path); |
1853 | break; |
1852 | break; |
1854 | } |
1853 | } |
1855 | if (str[1] == MENUITEM_BEG) |
1854 | if (str[1] == MENUITEM_BEG) |
1856 | { |
1855 | { |
1857 | name2 = (str + 2); |
1856 | name2 = (str + 2); |
1858 | str = STRCHR (name2, MENUITEM_END); |
1857 | str = STRCHR (name2, MENUITEM_END); |
1859 | |
1858 | |
1860 | if (str == NULL) |
1859 | if (str == NULL) |
1861 | { |
1860 | { |
1862 | rxvt_print_error ("menu error <%s>\n", path); |
1861 | rxvt_warn ("menu error B<%s>, continuing.\n", path); |
1863 | break; |
1862 | break; |
1864 | } |
1863 | } |
1865 | name2[-2] = '\0'; /* remove prev MENUITEM_END */ |
1864 | name2[-2] = '\0'; /* remove prev MENUITEM_END */ |
1866 | } |
1865 | } |
1867 | if (name > path && name[-1] == '/') |
1866 | if (name > path && name[-1] == '/') |