diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp index 5dd73d14e1faadee1d69a1357b61cc5923394afa..c63b68ca28706ec764da85d240eef94df0020e05 100644 --- a/src/sbbs3/con_out.cpp +++ b/src/sbbs3/con_out.cpp @@ -714,7 +714,7 @@ int sbbs_t::outchar(char ch) if(outchar_esc==3) outchar_esc=0; - if(lncntr==rows-1 && ((useron.misc&UPAUSE) || sys_status&SS_PAUSEON) + if(lncntr==rows-1 && ((useron.misc&(UPAUSE^(console&CON_PAUSEOFF))) || sys_status&SS_PAUSEON) && !(sys_status&(SS_PAUSEOFF|SS_ABORT))) { lncntr=0; pause(); diff --git a/src/sbbs3/inkey.cpp b/src/sbbs3/inkey.cpp index 7d2707f061d09bcce7b9a8d2ce66d2a5d7b8376f..44d319ac30180058f971f6b7a80003defb5ad359 100644 --- a/src/sbbs3/inkey.cpp +++ b/src/sbbs3/inkey.cpp @@ -204,7 +204,7 @@ char sbbs_t::handle_ctrlkey(char ch, long mode) switch(ch) { case CTRL_O: /* Ctrl-O toggles pause temporarily */ - useron.misc^=UPAUSE; + console^=CON_PAUSEOFF; return(0); case CTRL_P: /* Ctrl-P Private node-node comm */ if(!(sys_status&SS_USERON)) diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h index b34b547de5e8c0a121b56a45b6dab97833592131..6fc511ad9f5703dc1c86ac500f6b3bed559560bc 100644 --- a/src/sbbs3/sbbsdefs.h +++ b/src/sbbs3/sbbsdefs.h @@ -474,9 +474,10 @@ typedef enum { /* Values for xtrn_t.event */ /* Console I/O Bits (console) */ #define CON_R_ECHO (1<<0) /* Echo remotely */ #define CON_R_ECHOX (1<<1) /* Echo X's to remote user */ +#define CON_L_ECHOX 0 // Unused #define CON_R_INPUT (1<<2) /* Accept input remotely */ #define CON_L_ECHO (1<<3) /* Echo locally */ -#define CON_L_ECHOX (1<<4) /* Echo X's locally */ +#define CON_PAUSEOFF (1<<4) // Temporary pause over-ride (same as UPAUSE) #define CON_L_INPUT (1<<5) /* Accept input locally */ #define CON_RAW_IN (1<<8) /* Raw input mode - no editing capabilities */ #define CON_ECHO_OFF (1<<10) /* Remote & Local echo disabled for ML/MF */