diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp index 6d260b5a910240280bdbbdce6c35a85104ecf154..904fbb460fb6f63eb84f0bb58ec9c2c37eca4e03 100644 --- a/src/sbbs3/readmsgs.cpp +++ b/src/sbbs3/readmsgs.cpp @@ -494,7 +494,6 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) { char str[256],str2[256],do_find=true,mismatches=0 ,done=0,domsg=1,*buf,*p; - char subj[128]; char find_buf[128]; char tmp[128]; int i; @@ -752,11 +751,8 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) domsg=0; continue; } - strupr(buf); - strip_ctrl(buf, buf); - SAFECOPY(subj,msg.subj); - strupr(subj); - if(!strstr(buf,find) && !strstr(subj,find)) { + if(strcasestr(buf,find) == NULL && strcasestr(msg.subj, find) == NULL + && (msg.tags == NULL || strcasestr(msg.tags, find) == NULL)) { free(buf); if(smb.curmsg<smb.msgs-1) smb.curmsg++; @@ -1702,7 +1698,6 @@ long sbbs_t::searchposts(uint subnum, post_t *post, long start, long posts , const char *search) { char* buf; - char subj[128]; long l,found=0; smbmsg_t msg; @@ -1717,11 +1712,8 @@ long sbbs_t::searchposts(uint subnum, post_t *post, long start, long posts smb_freemsgmem(&msg); continue; } - strupr(buf); - strip_ctrl(buf, buf); - SAFECOPY(subj,msg.subj); - strupr(subj); - if(strstr(buf,search) || strstr(subj,search)) { + if(strcasestr(buf, search) != NULL || strcasestr(msg.subj, search) != NULL + || (msg.tags != NULL && strcasestr(msg.tags, search) != NULL)) { if(!found) bputs(text[MailOnSystemLstHdr]); bprintf(text[SubMsgLstFmt],l+1