version 1.2, 2019/05/12 07:27:08 |
version 1.3, 2019/05/12 08:58:09 |
|
|
|
|
if (item == NULL || *item->name == '\0') /* horizontal line */ |
if (item == NULL || *item->name == '\0') /* horizontal line */ |
return; |
return; |
name = format_single(NULL, item->name, c, fs->s, fs->wl, fs->wp); |
if (fs != NULL) { |
|
name = format_single(NULL, item->name, c, fs->s, fs->wl, |
|
fs->wp); |
|
} else |
|
name = xstrdup(item->name); |
if (*name == '\0') { /* no item if empty after format expanded */ |
if (*name == '\0') { /* no item if empty after format expanded */ |
menu->count--; |
menu->count--; |
return; |
return; |
|
|
copy = string = xstrdup(s); |
copy = string = xstrdup(s); |
do { |
do { |
next = (char *)format_skip(string, "|"); |
next = (char *)format_skip(string, "|"); |
log_debug("XXX %s -- %s", next, string); |
|
if (next != NULL) |
if (next != NULL) |
*next++ = '\0'; |
*next++ = '\0'; |
if (*string == '\0') |
if (*string == '\0') |
|
|
if (md->item != NULL) |
if (md->item != NULL) |
md->item->flags &= ~CMDQ_WAITING; |
md->item->flags &= ~CMDQ_WAITING; |
|
|
|
if (md->cb != NULL) |
|
md->cb(md->menu, UINT_MAX, KEYC_NONE, md->data); |
|
|
screen_free(&md->s); |
screen_free(&md->s); |
menu_free(md->menu); |
menu_free(md->menu); |
free(md); |
free(md); |
|
|
return (1); |
return (1); |
if (md->cb != NULL) { |
if (md->cb != NULL) { |
md->cb(md->menu, md->choice, item->key, md->data); |
md->cb(md->menu, md->choice, item->key, md->data); |
|
md->cb = NULL; |
return (1); |
return (1); |
} |
} |
cmdlist = cmd_string_parse(item->command, NULL, 0, &cause); |
cmdlist = cmd_string_parse(item->command, NULL, 0, &cause); |
|
|
md->item = item; |
md->item = item; |
md->flags = flags; |
md->flags = flags; |
|
|
cmd_find_copy_state(&md->fs, fs); |
if (fs != NULL) |
|
cmd_find_copy_state(&md->fs, fs); |
screen_init(&md->s, menu->width + 4, menu->count + 2, 0); |
screen_init(&md->s, menu->width + 4, menu->count + 2, 0); |
|
|
md->px = px; |
md->px = px; |