--- lbbs/src/menu.c 2025/12/18 02:56:00 1.92 +++ lbbs/src/menu.c 2026/02/13 12:38:09 1.96 @@ -3,7 +3,7 @@ * menu * - configurable user interactive menu feature * - * Copyright (C) 2004-2025 Leaflet + * Copyright (C) 2004-2026 Leaflet */ #ifdef HAVE_CONFIG_H @@ -40,6 +40,12 @@ static const char MENU_CONF_DELIM_WITHOU MENU_SET bbs_menu; MENU_SET top10_menu; +// External definitions for inline functions +extern inline MENU *get_menu(MENU_SET *p_menu_set, const char *menu_name); +extern inline MENU *get_menu_by_id(MENU_SET *p_menu_set, MENU_ID menu_id); +extern inline MENU_ITEM *get_menu_item_by_id(MENU_SET *p_menu_set, MENU_ITEM_ID menu_item_id); +extern inline MENU_SCREEN *get_menu_screen_by_id(MENU_SET *p_menu_set, MENU_SCREEN_ID menu_screen_id); + int load_menu(MENU_SET *p_menu_set, const char *conf_file) { char filepath[FILE_PATH_LEN]; @@ -63,7 +69,7 @@ int load_menu(MENU_SET *p_menu_set, cons if (p_menu_set == NULL || conf_file == NULL) { - log_error("NULL pointer error\n"); + log_error("NULL pointer error"); return -1; } @@ -74,7 +80,7 @@ int load_menu(MENU_SET *p_menu_set, cons p_menu_set->p_menu_name_dict = trie_dict_create(); if (p_menu_set->p_menu_name_dict == NULL) { - log_error("trie_dict_create() error\n"); + log_error("trie_dict_create() error"); return -1; } @@ -82,13 +88,13 @@ int load_menu(MENU_SET *p_menu_set, cons p_menu_set->p_menu_screen_dict = trie_dict_create(); if (p_menu_set->p_menu_screen_dict == NULL) { - log_error("trie_dict_create() error\n"); + log_error("trie_dict_create() error"); return -1; } if ((fin = fopen(conf_file, "r")) == NULL) { - log_error("Open %s failed\n", conf_file); + log_error("Open %s error: %d", conf_file, errno); return -2; } @@ -105,18 +111,18 @@ int load_menu(MENU_SET *p_menu_set, cons if (shm_unlink(p_menu_set->shm_name) == -1 && errno != ENOENT) { - log_error("shm_unlink(%s) error (%d)\n", p_menu_set->shm_name, errno); + log_error("shm_unlink(%s) error (%d)", p_menu_set->shm_name, errno); return -2; } if ((fd = shm_open(p_menu_set->shm_name, O_CREAT | O_EXCL | O_RDWR, 0600)) == -1) { - log_error("shm_open(%s) error (%d)\n", p_menu_set->shm_name, errno); + log_error("shm_open(%s) error (%d)", p_menu_set->shm_name, errno); return -2; } if (ftruncate(fd, (off_t)size) == -1) { - log_error("ftruncate(size=%d) error (%d)\n", size, errno); + log_error("ftruncate(size=%d) error (%d)", size, errno); close(fd); return -2; } @@ -124,14 +130,14 @@ int load_menu(MENU_SET *p_menu_set, cons p_shm = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0L); if (p_shm == MAP_FAILED) { - log_error("mmap() error (%d)\n", errno); + log_error("mmap() error (%d)", errno); close(fd); return -2; } if (close(fd) < 0) { - log_error("close(fd) error (%d)\n", errno); + log_error("close(fd) error (%d)", errno); return -1; } @@ -175,13 +181,13 @@ int load_menu(MENU_SET *p_menu_set, cons { if (p_menu != NULL) { - log_error("Incomplete menu definition in menu config line %d\n", fin_line); + log_error("Incomplete menu definition in menu config line %d", fin_line); return -1; } if (p_menu_set->menu_count >= MAX_MENUS) { - log_error("Menu count (%d) exceed limit (%d)\n", p_menu_set->menu_count, MAX_MENUS); + log_error("Menu count (%d) exceed limit (%d)", p_menu_set->menu_count, MAX_MENUS); return -3; } menu_id = (MENU_ID)p_menu_set->menu_count; @@ -199,7 +205,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu name in menu config line %d\n", fin_line); + log_error("Error menu name in menu config line %d", fin_line); return -1; } p = q; @@ -209,13 +215,13 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu name in menu config line %d\n", fin_line); + log_error("Error menu name in menu config line %d", fin_line); return -1; } if (q - p > sizeof(p_menu->name) - 1) { - log_error("Too longer menu name in menu config line %d\n", fin_line); + log_error("Too longer menu name in menu config line %d", fin_line); return -1; } strncpy(p_menu->name, p, sizeof(p_menu->name) - 1); @@ -223,14 +229,14 @@ int load_menu(MENU_SET *p_menu_set, cons if (trie_dict_set(p_menu_set->p_menu_name_dict, p_menu->name, (int64_t)menu_id) != 1) { - log_error("Error set menu dict [%s]\n", p_menu->name); + log_error("Error set menu dict [%s]", p_menu->name); } // Check syntax q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } @@ -259,12 +265,12 @@ int load_menu(MENU_SET *p_menu_set, cons // BEGIN of menu item if (p_menu->item_count >= MAX_ITEMS_PER_MENU) { - log_error("Menuitem count per menu (%d) exceed limit (%d)\n", p_menu->item_count, MAX_ITEMS_PER_MENU); + log_error("Menuitem count per menu (%d) exceed limit (%d)", p_menu->item_count, MAX_ITEMS_PER_MENU); return -1; } if (p_menu_set->menu_item_count >= MAX_MENUITEMS) { - log_error("Menuitem count (%d) exceed limit (%d)\n", p_menu_set->menu_item_count, MAX_MENUITEMS); + log_error("Menuitem count (%d) exceed limit (%d)", p_menu_set->menu_item_count, MAX_MENUITEMS); return -3; } menu_item_id = (MENU_ITEM_ID)p_menu_set->menu_item_count; @@ -292,14 +298,14 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu item action in menu config line %d\n", fin_line); + log_error("Error menu item action in menu config line %d", fin_line); return -1; } } if (q - p > sizeof(p_menu_item->action) - 1) { - log_error("Too longer menu action in menu config line %d\n", fin_line); + log_error("Too longer menu action in menu config line %d", fin_line); return -1; } strncpy(p_menu_item->action, p, sizeof(p_menu_item->action) - 1); @@ -309,7 +315,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu item row in menu config line %d\n", fin_line); + log_error("Error menu item row in menu config line %d", fin_line); return -1; } p = q; @@ -319,7 +325,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu item row in menu config line %d\n", fin_line); + log_error("Error menu item row in menu config line %d", fin_line); return -1; } p_menu_item->row = (int16_t)atoi(p); @@ -328,7 +334,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu item col in menu config line %d\n", fin_line); + log_error("Error menu item col in menu config line %d", fin_line); return -1; } p = q; @@ -338,7 +344,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu item col in menu config line %d\n", fin_line); + log_error("Error menu item col in menu config line %d", fin_line); return -1; } p_menu_item->col = (int16_t)atoi(p); @@ -347,7 +353,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu item priv in menu config line %d\n", fin_line); + log_error("Error menu item priv in menu config line %d", fin_line); return -1; } p = q; @@ -357,7 +363,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu item priv in menu config line %d\n", fin_line); + log_error("Error menu item priv in menu config line %d", fin_line); return -1; } p_menu_item->priv = atoi(p); @@ -366,7 +372,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu item level in menu config line %d\n", fin_line); + log_error("Error menu item level in menu config line %d", fin_line); return -1; } p = q; @@ -376,7 +382,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu item level in menu config line %d\n", fin_line); + log_error("Error menu item level in menu config line %d", fin_line); return -1; } p_menu_item->level = atoi(p); @@ -385,7 +391,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL || *q != '\"') { - log_error("Error menu item name in menu config line %d\n", fin_line); + log_error("Error menu item name in menu config line %d", fin_line); return -1; } q++; @@ -405,14 +411,14 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\"' || *(q + 1) != '\0') { - log_error("Error menu item name in menu config line %d\n", fin_line); + log_error("Error menu item name in menu config line %d", fin_line); return -1; } *q = '\0'; if (q - p > sizeof(p_menu_item->name) - 1) { - log_error("Too longer menu name in menu config line %d\n", fin_line); + log_error("Too longer menu name in menu config line %d", fin_line); return -1; } strncpy(p_menu_item->name, p, sizeof(p_menu_item->name) - 1); @@ -422,7 +428,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITHOUT_SPACE, &saveptr); if (q == NULL || (q = strchr(q, '\"')) == NULL) { - log_error("Error menu item text in menu config line %d\n", fin_line); + log_error("Error menu item text in menu config line %d", fin_line); return -1; } q++; @@ -442,14 +448,14 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\"') { - log_error("Error menu item text in menu config line %d\n", fin_line); + log_error("Error menu item text in menu config line %d", fin_line); return -1; } *q = '\0'; if (q - p > sizeof(p_menu_item->text) - 1) { - log_error("Too longer menu item text in menu config line %d\n", fin_line); + log_error("Too longer menu item text in menu config line %d", fin_line); return -1; } strncpy(p_menu_item->text, p, sizeof(p_menu_item->text) - 1); @@ -459,7 +465,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(q + 1, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } } @@ -471,7 +477,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu title row in menu config line %d\n", fin_line); + log_error("Error menu title row in menu config line %d", fin_line); return -1; } p = q; @@ -481,7 +487,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu title row in menu config line %d\n", fin_line); + log_error("Error menu title row in menu config line %d", fin_line); return -1; } p_menu->title.row = (int16_t)atoi(p); @@ -490,7 +496,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu title col in menu config line %d\n", fin_line); + log_error("Error menu title col in menu config line %d", fin_line); return -1; } p = q; @@ -500,7 +506,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu title col in menu config line %d\n", fin_line); + log_error("Error menu title col in menu config line %d", fin_line); return -1; } p_menu->title.col = (int16_t)atoi(p); @@ -509,7 +515,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITHOUT_SPACE, &saveptr); if (q == NULL || (q = strchr(q, '\"')) == NULL) { - log_error("Error menu title text in menu config line %d\n", fin_line); + log_error("Error menu title text in menu config line %d", fin_line); return -1; } q++; @@ -529,14 +535,14 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\"') { - log_error("Error menu title text in menu config line %d\n", fin_line); + log_error("Error menu title text in menu config line %d", fin_line); return -1; } *q = '\0'; if (q - p > sizeof(p_menu->title.text) - 1) { - log_error("Too longer menu title text in menu config line %d\n", fin_line); + log_error("Too longer menu title text in menu config line %d", fin_line); return -1; } strncpy(p_menu->title.text, p, sizeof(p_menu->title.text) - 1); @@ -546,7 +552,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(q + 1, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } } @@ -558,7 +564,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu screen row in menu config line %d\n", fin_line); + log_error("Error menu screen row in menu config line %d", fin_line); return -1; } p = q; @@ -568,7 +574,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu screen row in menu config line %d\n", fin_line); + log_error("Error menu screen row in menu config line %d", fin_line); return -1; } p_menu->screen_row = (int16_t)atoi(p); @@ -577,7 +583,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu screen col in menu config line %d\n", fin_line); + log_error("Error menu screen col in menu config line %d", fin_line); return -1; } p = q; @@ -587,7 +593,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu screen col in menu config line %d\n", fin_line); + log_error("Error menu screen col in menu config line %d", fin_line); return -1; } p_menu->screen_col = (int16_t)atoi(p); @@ -596,7 +602,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu screen name in menu config line %d\n", fin_line); + log_error("Error menu screen name in menu config line %d", fin_line); return -1; } p = q; @@ -606,7 +612,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu screen name in menu config line %d\n", fin_line); + log_error("Error menu screen name in menu config line %d", fin_line); return -1; } strncpy(p_menu->screen_name, p, sizeof(p_menu->screen_name) - 1); @@ -616,7 +622,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } } @@ -626,7 +632,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu page row in menu config line %d\n", fin_line); + log_error("Error menu page row in menu config line %d", fin_line); return -1; } p = q; @@ -636,7 +642,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu page row in menu config line %d\n", fin_line); + log_error("Error menu page row in menu config line %d", fin_line); return -1; } p_menu->page_row = (int16_t)atoi(p); @@ -645,7 +651,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu page col in menu config line %d\n", fin_line); + log_error("Error menu page col in menu config line %d", fin_line); return -1; } p = q; @@ -655,7 +661,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu page col in menu config line %d\n", fin_line); + log_error("Error menu page col in menu config line %d", fin_line); return -1; } p_menu->page_col = (int16_t)atoi(p); @@ -664,7 +670,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q == NULL) { - log_error("Error menu page item limit in menu config line %d\n", fin_line); + log_error("Error menu page item limit in menu config line %d", fin_line); return -1; } p = q; @@ -674,7 +680,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu page item limit in menu config line %d\n", fin_line); + log_error("Error menu page item limit in menu config line %d", fin_line); return -1; } p_menu->page_item_limit = (int16_t)atoi(p); @@ -683,7 +689,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } } @@ -695,7 +701,7 @@ int load_menu(MENU_SET *p_menu_set, cons q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } } @@ -705,7 +711,7 @@ int load_menu(MENU_SET *p_menu_set, cons { if (p_menu_set->menu_item_count >= MAX_MENUS) { - log_error("Menu screen count (%d) exceed limit (%d)\n", p_menu_set->menu_screen_count, MAX_MENUS); + log_error("Menu screen count (%d) exceed limit (%d)", p_menu_set->menu_screen_count, MAX_MENUS); return -3; } screen_id = (MENU_SCREEN_ID)p_menu_set->menu_screen_count; @@ -720,7 +726,7 @@ int load_menu(MENU_SET *p_menu_set, cons } if (*q != '\0') { - log_error("Error menu screen name in menu config line %d\n", fin_line); + log_error("Error menu screen name in menu config line %d", fin_line); return -1; } strncpy(p_screen->name, p, sizeof(p_screen->name) - 1); @@ -728,14 +734,14 @@ int load_menu(MENU_SET *p_menu_set, cons if (trie_dict_set(p_menu_set->p_menu_screen_dict, p_screen->name, (int64_t)screen_id) != 1) { - log_error("Error set menu screen dict [%s]\n", p_screen->name); + log_error("Error set menu screen dict [%s]", p_screen->name); } // Check syntax q = strtok_r(NULL, MENU_CONF_DELIM_WITH_SPACE, &saveptr); if (q != NULL) { - log_error("Unknown extra content in menu config line %d\n", fin_line); + log_error("Unknown extra content in menu config line %d", fin_line); return -1; } @@ -756,7 +762,7 @@ int load_menu(MENU_SET *p_menu_set, cons { if (p_menu_set->p_menu_screen_buf_free + 1 > q) { - log_error("Menu screen buffer depleted (%p + 1 > %p)\n", p_menu_set->p_menu_screen_buf_free, q); + log_error("Menu screen buffer depleted (%p + 1 > %p)", p_menu_set->p_menu_screen_buf_free, q); return -3; } @@ -769,7 +775,7 @@ int load_menu(MENU_SET *p_menu_set, cons // Clear line if (p_menu_set->p_menu_screen_buf_free + strlen(CTRL_SEQ_CLR_LINE) > q) { - log_error("Menu screen buffer depleted (%p + %d > %p)\n", p_menu_set->p_menu_screen_buf_free, q, strlen(CTRL_SEQ_CLR_LINE)); + log_error("Menu screen buffer depleted (%p + %d > %p)", p_menu_set->p_menu_screen_buf_free, q, strlen(CTRL_SEQ_CLR_LINE)); return -3; } p_menu_set->p_menu_screen_buf_free = stpcpy(p_menu_set->p_menu_screen_buf_free, CTRL_SEQ_CLR_LINE); @@ -779,7 +785,7 @@ int load_menu(MENU_SET *p_menu_set, cons { if (p_menu_set->p_menu_screen_buf_free + 2 > q) { - log_error("Menu screen buffer depleted (%p + 2 > %p)\n", p_menu_set->p_menu_screen_buf_free, q); + log_error("Menu screen buffer depleted (%p + 2 > %p)", p_menu_set->p_menu_screen_buf_free, q); return -3; } @@ -797,13 +803,13 @@ int load_menu(MENU_SET *p_menu_set, cons if (p_screen->buf_length == -1) { - log_error("End of menu screen [%s] not found\n", p_screen->name); + log_error("End of menu screen [%s] not found", p_screen->name); } } } else // Invalid prefix { - log_error("Error in menu config line %d\n", fin_line); + log_error("Error in menu config line %d", fin_line); return -1; } } @@ -815,7 +821,7 @@ int load_menu(MENU_SET *p_menu_set, cons if (trie_dict_get(p_menu_set->p_menu_screen_dict, p_menu->screen_name, (int64_t *)(&(p_menu->screen_id))) != 1) { - log_error("Undefined menu screen [%s]\n", p); + log_error("Undefined menu screen [%s]", p); return -1; } @@ -824,7 +830,7 @@ int load_menu(MENU_SET *p_menu_set, cons { if ((p_menu->filter_handler = get_cmd_handler(p_menu->name)) == NULL) { - log_error("Undefined menu filter handler [%s]\n", p_menu->name); + log_error("Undefined menu filter handler [%s]", p_menu->name); return -1; } } @@ -839,7 +845,7 @@ int load_menu(MENU_SET *p_menu_set, cons { if ((p_menu_item->action_cmd_handler = get_cmd_handler(p_menu_item->action)) == NULL) { - log_error("Undefined menu action cmd handler [%s]\n", p_menu_item->action); + log_error("Undefined menu action cmd handler [%s]", p_menu_item->action); return -1; } } @@ -848,7 +854,7 @@ int load_menu(MENU_SET *p_menu_set, cons { if (trie_dict_get(p_menu_set->p_menu_name_dict, p_menu_item->action, (int64_t *)&menu_id) != 1) { - log_error("Undefined sub menu id [%s]\n", p_menu_item->action); + log_error("Undefined sub menu id [%s]", p_menu_item->action); return -1; } p_menu_item->action_menu_id = menu_id; @@ -875,7 +881,7 @@ int display_menu_cursor(MENU_SET *p_menu p_menu = get_menu_by_id(p_menu_set, menu_id); if (p_menu == NULL) { - log_error("get_menu_by_id(%d) return NULL pointer\n", menu_id); + log_error("get_menu_by_id(%d) return NULL pointer", menu_id); return -1; } @@ -884,7 +890,7 @@ int display_menu_cursor(MENU_SET *p_menu p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } @@ -910,7 +916,7 @@ static int display_menu_current_page(MEN p_menu = get_menu_by_id(p_menu_set, menu_id); if (p_menu == NULL) { - log_error("get_menu_by_id(%d) return NULL pointer\n", menu_id); + log_error("get_menu_by_id(%d) return NULL pointer", menu_id); return -1; } @@ -934,7 +940,7 @@ static int display_menu_current_page(MEN p_menu_screen = get_menu_screen_by_id(p_menu_set, p_menu->screen_id); if (p_menu_screen == NULL) { - log_error("get_menu_screen_by_id(%d) return NULL pointer\n", p_menu->screen_id); + log_error("get_menu_screen_by_id(%d) return NULL pointer", p_menu->screen_id); return -1; } @@ -1006,7 +1012,7 @@ int display_menu(MENU_SET *p_menu_set) p_menu = get_menu_by_id(p_menu_set, menu_id); if (p_menu == NULL) { - log_error("get_menu_by_id(%d) return NULL pointer\n", menu_id); + log_error("get_menu_by_id(%d) return NULL pointer", menu_id); if (p_menu_set->choose_step > 0) { p_menu_set->choose_step--; @@ -1029,7 +1035,7 @@ int display_menu(MENU_SET *p_menu_set) p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return EXITMENU; } @@ -1122,7 +1128,7 @@ int menu_control(MENU_SET *p_menu_set, i if (p_menu_set->menu_count == 0) { - log_error("Empty menu set\n"); + log_error("Empty menu set"); return EXITBBS; } @@ -1130,7 +1136,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu = get_menu_by_id(p_menu_set, menu_id); if (p_menu == NULL) { - log_error("get_menu_by_id(%d) return NULL pointer\n", menu_id); + log_error("get_menu_by_id(%d) return NULL pointer", menu_id); if (p_menu_set->choose_step > 0) { p_menu_set->choose_step--; @@ -1141,7 +1147,7 @@ int menu_control(MENU_SET *p_menu_set, i if (p_menu->item_count == 0) { - log_debug("Empty menu (%s)\n", p_menu->name); + log_debug("Empty menu (%s)", p_menu->name); if (p_menu_set->choose_step > 0) { p_menu_set->choose_step--; @@ -1157,7 +1163,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); p_menu_set->menu_item_pos[p_menu_set->choose_step] = 0; return REDRAW; } @@ -1208,7 +1214,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } @@ -1241,7 +1247,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } if (require_page_change && p_menu_set->menu_item_page_id[menu_item_pos] != page_id) @@ -1272,7 +1278,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } if (require_page_change && p_menu_set->menu_item_page_id[menu_item_pos] != page_id) @@ -1296,7 +1302,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } @@ -1323,7 +1329,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } @@ -1350,7 +1356,7 @@ int menu_control(MENU_SET *p_menu_set, i p_menu_item = get_menu_item_by_id(p_menu_set, menu_item_id); if (p_menu_item == NULL) { - log_error("get_menu_item_by_id(%d) return NULL pointer\n", menu_item_id); + log_error("get_menu_item_by_id(%d) return NULL pointer", menu_item_id); return -1; } @@ -1377,7 +1383,7 @@ int unload_menu(MENU_SET *p_menu_set) { if (p_menu_set == NULL) { - log_error("NULL pointer error\n"); + log_error("NULL pointer error"); return -1; } @@ -1397,7 +1403,7 @@ int unload_menu(MENU_SET *p_menu_set) if (shm_unlink(p_menu_set->shm_name) == -1 && errno != ENOENT) { - log_error("shm_unlink(%s) error (%d)\n", p_menu_set->shm_name, errno); + log_error("shm_unlink(%s) error (%d)", p_menu_set->shm_name, errno); return -2; } @@ -1413,19 +1419,19 @@ int get_menu_shm_readonly(MENU_SET *p_me if (p_menu_set == NULL) { - log_error("NULL pointer error\n"); + log_error("NULL pointer error"); return -1; } if ((fd = shm_open(p_menu_set->shm_name, O_RDONLY, 0600)) == -1) { - log_error("shm_open(%s) error (%d)\n", p_menu_set->shm_name, errno); + log_error("shm_open(%s) error (%d)", p_menu_set->shm_name, errno); return -2; } if (fstat(fd, &sb) < 0) { - log_error("fstat(fd) error (%d)\n", errno); + log_error("fstat(fd) error (%d)", errno); close(fd); return -2; } @@ -1435,14 +1441,14 @@ int get_menu_shm_readonly(MENU_SET *p_me p_shm = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0L); if (p_shm == MAP_FAILED) { - log_error("mmap() error (%d)\n", errno); + log_error("mmap() error (%d)", errno); close(fd); return -2; } if (close(fd) < 0) { - log_error("close(fd) error (%d)\n", errno); + log_error("close(fd) error (%d)", errno); return -1; } @@ -1466,13 +1472,13 @@ int set_menu_shm_readonly(MENU_SET *p_me { if (p_menu_set == NULL) { - log_error("NULL pointer error\n"); + log_error("NULL pointer error"); return -1; } if (p_menu_set->p_reserved != NULL && mprotect(p_menu_set->p_reserved, p_menu_set->shm_size, PROT_READ) < 0) { - log_error("mprotect() error (%d)\n", errno); + log_error("mprotect() error (%d)", errno); return -2; } @@ -1483,7 +1489,7 @@ int detach_menu_shm(MENU_SET *p_menu_set { if (p_menu_set == NULL) { - log_error("NULL pointer error\n"); + log_error("NULL pointer error"); return -1; } @@ -1503,7 +1509,7 @@ int detach_menu_shm(MENU_SET *p_menu_set if (p_menu_set->p_reserved != NULL && munmap(p_menu_set->p_reserved, p_menu_set->shm_size) < 0) { - log_error("munmap() error (%d)\n", errno); + log_error("munmap() error (%d)", errno); return -2; }