diff options
Diffstat (limited to 'mbbsd/admin.c')
-rw-r--r-- | mbbsd/admin.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c index 9914959d..4403fbb3 100644 --- a/mbbsd/admin.c +++ b/mbbsd/admin.c @@ -1855,12 +1855,15 @@ handle_register_form(const char *regfile, int dryrun) ci = cforms -1; } // while(ch != QUIT/SAVE) - // quick exit + // if exit, we still need to skip all read forms if (ch == 'q') - break; + { + for (i = 0; i < cforms; i++) + ans[i] = 's'; + } // page complete (save). - assert(ch == ' '); + assert(ch == ' ' || ch == 'q'); // solving blank (undecided entries) for (i = 0, blanks = 0; i < cforms; i++) @@ -1905,7 +1908,8 @@ handle_register_form(const char *regfile, int dryrun) ans[i] == 'n' ? rejects[i] : ans[i] == 'y' ? justify : ""); } - pressanykey(); + if (ch != 'q') + pressanykey(); } else { @@ -2002,12 +2006,15 @@ m_register(void) #ifdef EXP_ADMIN_REGFORM else if (ans[0] == 'e') { +#ifdef EXP_ADMIN_REGFORM_DRYRUN clear(); outs("瞷璶秈琌龟喷┦穝ㄑ代刚ノ\n" "叫猔種: 单ち糵埃单单笆常琌安ぃ穦痷糶╰参"); pressanykey(); - handle_register_form(fn_register, 1); +#else + handle_register_form(fn_register, 0); +#endif } #endif |