diff --git a/src/sbbs3/readmail.cpp b/src/sbbs3/readmail.cpp index 582018a4eabd0a9dc2003f1b1f9f3551f2f64654..5583482adeae052b5fd48e2bb9078389c9536a29 100644 --- a/src/sbbs3/readmail.cpp +++ b/src/sbbs3/readmail.cpp @@ -700,15 +700,24 @@ void sbbs_t::readmail(uint usernumber, int which) case 'U': /* user edit */ msg.hdr.number=msg.idx.number; smb_getmsgidx(&smb,&msg); - useredit(which==MAIL_SENT ? msg.idx.to : msg.idx.from); + if((which==MAIL_SENT ? msg.idx.to : msg.idx.from) == 0) { + bputs(text[UnknownUser]); + domsg=false; + } else + useredit(which==MAIL_SENT ? msg.idx.to : msg.idx.from); break; case 'P': /* Purge author and all mail to/from */ - if(noyes(text[AreYouSureQ])) + if(noyes(text[UeditDeleteQ])) break; msg.hdr.number=msg.idx.number; smb_getmsgidx(&smb,&msg); - purgeuser(msg.idx.from); - if(smb.curmsg<smb.msgs-1) smb.curmsg++; + if((which==MAIL_SENT ? msg.idx.to : msg.idx.from) == 0) { + bputs(text[UnknownUser]); + domsg=false; + } else { + purgeuser(msg.idx.from); + if(smb.curmsg<smb.msgs-1) smb.curmsg++; + } break; case '?': strcpy(str,which==MAIL_YOUR ? "mailread" : which==MAIL_ALL