diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp index 1acaa8cf356104049b6dd604434e1ff79a165262..507b1ac9d83ebaed2dd1f8bf39f2ac51634321c1 100644 --- a/src/sbbs3/newuser.cpp +++ b/src/sbbs3/newuser.cpp @@ -184,7 +184,6 @@ BOOL sbbs_t::newuser() bprintf(text[InvalidBackspaceKeyFmt], key, key); if(text[ContinueQ][0] && !yesno(text[ContinueQ])) return FALSE; - newline(); } } diff --git a/src/sbbs3/useredit.cpp b/src/sbbs3/useredit.cpp index cb179eafdebb7cc1329013a4658ca9a69f3ad7cc..a1f171e0c45941e99810e41bc94e05c39a0ed5bc 100644 --- a/src/sbbs3/useredit.cpp +++ b/src/sbbs3/useredit.cpp @@ -941,10 +941,20 @@ void sbbs_t::maindflts(user_t* user) user->misc|=NO_EXASCII; else user->misc&=~NO_EXASCII; - if(!noyes(text[SwapDeleteKeyQ])) - user->misc|=SWAP_DELETE; - else - user->misc&=~SWAP_DELETE; + user->misc &= ~SWAP_DELETE; + while(text[HitYourBackspaceKey][0] && !(user->misc&SWAP_DELETE) && online) { + bputs(text[HitYourBackspaceKey]); + uchar key = getkey(K_NONE); + bprintf(text[CharacterReceivedFmt], key, key); + if(key == '\b') + break; + if(key == DEL) { + if(text[SwapDeleteKeyQ][0] == 0 || yesno(text[SwapDeleteKeyQ])) + user->misc |= SWAP_DELETE; + } + else + bprintf(text[InvalidBackspaceKeyFmt], key, key); + } } if(sys_status&SS_ABORT) break;