From c9d1c32572f408f4afdc2774f5bd999812ab8560 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Thu, 25 Aug 2011 19:24:46 +0000
Subject: [PATCH] Fixed [U]edit and [P]urge sysop commands for when the sending
 user number is not known.

---
 src/sbbs3/readmail.cpp | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/readmail.cpp b/src/sbbs3/readmail.cpp
index 582018a4ea..5583482ade 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
-- 
GitLab