| 50 |
MENU_ITEM *p_item = NULL; |
MENU_ITEM *p_item = NULL; |
| 51 |
|
|
| 52 |
p_menu_set->menu_count = 0; |
p_menu_set->menu_count = 0; |
| 53 |
|
p_menu_set->p_menu_name_dict = trie_dict_create(); |
| 54 |
|
|
| 55 |
if ((fin = fopen(conf_file, "r")) == NULL) |
if ((fin = fopen(conf_file, "r")) == NULL) |
| 56 |
{ |
{ |
| 127 |
} |
} |
| 128 |
strncpy(p_menu->name, p, sizeof(p_menu->name) - 1); |
strncpy(p_menu->name, p, sizeof(p_menu->name) - 1); |
| 129 |
p_menu->name[sizeof(p_menu->name) - 1] = '\0'; |
p_menu->name[sizeof(p_menu->name) - 1] = '\0'; |
| 130 |
|
if (trie_dict_set(p_menu_set->p_menu_name_dict, p_menu->name, (int64_t)p_menu) != 1) |
| 131 |
|
{ |
| 132 |
|
log_error("Error set menu dict [%s]\n", p_menu->name); |
| 133 |
|
} |
| 134 |
|
|
| 135 |
// Check syntax |
// Check syntax |
| 136 |
q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); |
q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); |
| 560 |
|
|
| 561 |
MENU *get_menu(MENU_SET *p_menu_set, const char *menu_name) |
MENU *get_menu(MENU_SET *p_menu_set, const char *menu_name) |
| 562 |
{ |
{ |
| 563 |
int i; |
int ret; |
| 564 |
|
int64_t value = 0; |
| 565 |
|
|
| 566 |
for (i = 0; i < p_menu_set->menu_count; i++) |
ret = trie_dict_get(p_menu_set->p_menu_name_dict, menu_name, &value); |
| 567 |
|
|
| 568 |
|
if (ret == 1) // found |
| 569 |
{ |
{ |
| 570 |
if (strcmp(p_menu_set->p_menu[i]->name, menu_name) == 0) |
return ((MENU *)value); |
|
{ |
|
|
return p_menu_set->p_menu[i]; |
|
|
} |
|
| 571 |
} |
} |
| 572 |
|
|
| 573 |
return NULL; |
return NULL; |
| 779 |
MENU *p_menu; |
MENU *p_menu; |
| 780 |
int i, j; |
int i, j; |
| 781 |
|
|
| 782 |
|
if (p_menu_set->p_menu_name_dict != NULL) |
| 783 |
|
{ |
| 784 |
|
trie_dict_destroy(p_menu_set->p_menu_name_dict); |
| 785 |
|
p_menu_set->p_menu_name_dict = NULL; |
| 786 |
|
} |
| 787 |
|
|
| 788 |
for (i = 0; i < p_menu_set->menu_count; i++) |
for (i = 0; i < p_menu_set->menu_count; i++) |
| 789 |
{ |
{ |
| 790 |
p_menu = p_menu_set->p_menu[i]; |
p_menu = p_menu_set->p_menu[i]; |