summaryrefslogtreecommitdiffstats
path: root/mbbsd/menu.c
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-15 21:05:16 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-15 21:05:16 +0800
commitc896411789902bb37942f2041d42586e490bec2f (patch)
treeeb71f15343d9bb39fa7ed1ecb16f3a676f56e97d /mbbsd/menu.c
parent41157b4d4a7c4549b31f88b8ba483ca12c355e48 (diff)
downloadpttbbs-c896411789902bb37942f2041d42586e490bec2f.tar
pttbbs-c896411789902bb37942f2041d42586e490bec2f.tar.gz
pttbbs-c896411789902bb37942f2041d42586e490bec2f.tar.bz2
pttbbs-c896411789902bb37942f2041d42586e490bec2f.tar.lz
pttbbs-c896411789902bb37942f2041d42586e490bec2f.tar.xz
pttbbs-c896411789902bb37942f2041d42586e490bec2f.tar.zst
pttbbs-c896411789902bb37942f2041d42586e490bec2f.zip
fix r2251
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2843 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/menu.c')
-rw-r--r--mbbsd/menu.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/mbbsd/menu.c b/mbbsd/menu.c
index a42cc0bd..f9db6ff4 100644
--- a/mbbsd/menu.c
+++ b/mbbsd/menu.c
@@ -1,6 +1,8 @@
/* $Id$ */
#include "bbs.h"
+#define CheckMenuPerm(x) ( (x) ? HasUserPerm(x) : 1)
+
/* help & menu processring */
static int refscreen = NA;
extern char *boardprefix;
@@ -146,7 +148,7 @@ show_menu(const commands_t * p)
move(menu_row, 0);
while ((s = p[n].desc)) {
- if (HasUserPerm(p[n].level)) {
+ if (CheckMenuPerm(p[n].level)) {
prints("%*s (" ANSI_COLOR(1;36) "%c" ANSI_COLOR(0) ")%s\n", menu_column, "", s[1],
s+2);
}
@@ -202,7 +204,7 @@ domenu(int cmdmode, const char *cmdtitle, int cmd, const commands_t cmdtable[])
do {
if (++i > total)
i = 0;
- } while (!HasUserPerm(cmdtable[i].level));
+ } while (!CheckMenuPerm(cmdtable[i].level));
break;
case KEY_END:
case KEY_PGDN:
@@ -213,7 +215,7 @@ domenu(int cmdmode, const char *cmdtitle, int cmd, const commands_t cmdtable[])
do {
if (--i < 0)
i = total;
- } while (!HasUserPerm(cmdtable[i].level));
+ } while (!CheckMenuPerm(cmdtable[i].level));
break;
case KEY_LEFT:
case 'e':
@@ -263,9 +265,9 @@ domenu(int cmdmode, const char *cmdtitle, int cmd, const commands_t cmdtable[])
if (cmdtable[i].desc[1] == cmd)
break;
- if (!HasUserPerm(cmdtable[i].level)) {
+ if (!CheckMenuPerm(cmdtable[i].level)) {
for (i = 0; cmdtable[i].desc; i++)
- if (HasUserPerm(cmdtable[i].level))
+ if (CheckMenuPerm(cmdtable[i].level))
break;
if (!cmdtable[i].desc)
return;
@@ -276,7 +278,7 @@ domenu(int cmdmode, const char *cmdtitle, int cmd, const commands_t cmdtable[])
}
}
- if (i > total || !HasUserPerm(cmdtable[i].level))
+ if (i > total || !CheckMenuPerm(cmdtable[i].level))
continue;
if (refscreen) {
@@ -290,7 +292,7 @@ domenu(int cmdmode, const char *cmdtitle, int cmd, const commands_t cmdtable[])
cursor_clear(menu_row + pos, menu_column);
n = pos = -1;
while (++n <= (lastcmdptr = i))
- if (HasUserPerm(cmdtable[n].level))
+ if (CheckMenuPerm(cmdtable[n].level))
pos++;
cursor_show(menu_row + pos, menu_column);