summaryrefslogtreecommitdiffstats
path: root/mbbsd/more.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/more.c')
-rw-r--r--mbbsd/more.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/mbbsd/more.c b/mbbsd/more.c
index 40333264..252e9d02 100644
--- a/mbbsd/more.c
+++ b/mbbsd/more.c
@@ -6,22 +6,31 @@ int more(char *fpath, int promptend)
{
int r = pmore(fpath, promptend);
- if (r == RET_DOSYSOPEDIT)
+ switch(r)
{
- if (HasUserPerm(PERM_SYSOP) &&
+
+ case RET_DOSYSOPEDIT:
+ r = FULLUPDATE;
+
+ if (!HasUserPerm(PERM_SYSOP) ||
+ strcmp(fpath, "etc/ve.hlp") == 0)
+ break;
+
#ifdef GLOBAL_SECURITY
- strcmp(currboard, GLOBAL_SECURITY) != 0 &&
+ if (strcmp(currboard, GLOBAL_SECURITY) == 0)
+ break;
#endif // GLOBAL_SECURITY
- strcmp(fpath, "etc/ve.hlp") != 0 &&
- 1)
- {
- time4_t t = time4(NULL);
+
log_filef("log/security", LOG_CREAT,
- "%d %24.24s %d %s admin edit file=%s\n",
- t, ctime4(&t), getpid(), cuser.userid, fpath);
+ "%u %24.24s %d %s admin edit file=%s\n",
+ (int)now, ctime4(&now), getpid(), cuser.userid, fpath);
vedit(fpath, NA, NULL);
- }
- r = FULLUPDATE;
+ break;
+
+ case RET_DOCHESSREPLAY:
+ r = FULLUPDATE;
+ ChessReplayGame(fpath);
+ break;
}
return r;