- label = output = s;
-
- while (*s != '\0' && *s != '\t' && *s != '\n')
- s++;
-
- while (*s == '\t')
- *s++ = '\0';
-
- if (*s != '\0' && *s != '\n')
- output = s;
-
- while (*s != '\0' && *s != '\n')
- s++;
-
- if (*s == '\n')
- *s = '\0';
-
- curritem = allocitem(label, output);
-
- if (prevmenu == NULL) { /* there is no menu yet */
- menu = allocmenu(NULL, curritem, level);
- rootmenu = menu;
- prevmenu = menu;
- curritem->prev = NULL;
- curritem->next = NULL;
- } else if (level < prevmenu->level) { /* item is continuation of a parent menu*/
- for (menu = prevmenu, i = level;
- menu != NULL && i < prevmenu->level;
- menu = menu->parent, i++)
- ;
-
- if (menu == NULL)
- errx(1, "reached NULL menu");
+ /* create the item */
+ curritem = allocitem(label, output);
+
+ /* put the item in the menu tree */
+ if (prevmenu == NULL) { /* there is no menu yet */
+ menu = allocmenu(NULL, curritem, level);
+ rootmenu = menu;
+ prevmenu = menu;
+ curritem->prev = NULL;
+ } else if (level < prevmenu->level) { /* item is continuation of a parent menu */
+ /* go up the menu tree until find the menu this item continues */
+ for (menu = prevmenu, i = level;
+ menu != NULL && i != prevmenu->level;
+ menu = menu->parent, i++)
+ ;
+ if (menu == NULL)
+ errx(1, "reached NULL menu");