From 5a1e036c9e2b05e67ccc96fc562ef3e8476cbaad Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 5 May 2015 02:02:26 +0000 Subject: [PATCH] Change the thread down/up by thread-ID command keys to ( and ) Display the "No messages found" text when attempting to thread up or down and there is no corresponding message. --- src/sbbs3/readmail.cpp | 22 +++++++++++++++++----- src/sbbs3/readmsgs.cpp | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/sbbs3/readmail.cpp b/src/sbbs3/readmail.cpp index 8f92753cc0..598aa41827 100644 --- a/src/sbbs3/readmail.cpp +++ b/src/sbbs3/readmail.cpp @@ -587,8 +587,10 @@ void sbbs_t::readmail(uint usernumber, int which) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } break; case '<': /* Search Title backward */ for(i=smb.curmsg-1;i>-1;i--) @@ -596,8 +598,10 @@ void sbbs_t::readmail(uint usernumber, int which) break; if(i>-1) smb.curmsg=i; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } break; case '}': /* Search Author forward */ strcpy(str,msg.from); @@ -606,8 +610,10 @@ void sbbs_t::readmail(uint usernumber, int which) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } break; case 'N': /* Got to next un-read message */ for(u=smb.curmsg+1;u<smb.msgs;u++) @@ -615,8 +621,10 @@ void sbbs_t::readmail(uint usernumber, int which) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } break; case '{': /* Search Author backward */ strcpy(str,msg.from); @@ -628,6 +636,7 @@ void sbbs_t::readmail(uint usernumber, int which) } if(u==0) { domsg=0; + bputs(text[NoMessagesFound]); break; } } @@ -640,8 +649,10 @@ void sbbs_t::readmail(uint usernumber, int which) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } break; case '[': /* Search To User backward */ strcpy(str,msg.to); @@ -653,6 +664,7 @@ void sbbs_t::readmail(uint usernumber, int which) } if(u==0) { domsg=0; + bputs(text[NoMessagesFound]); break; } } diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp index bef2b6fcff..a4761aa5ef 100644 --- a/src/sbbs3/readmsgs.cpp +++ b/src/sbbs3/readmsgs.cpp @@ -718,7 +718,7 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) bprintf(text[UnvalidatedWarning],unvalidated+1); bprintf(text[ReadingSub],ugrp,cfg.grp[cfg.sub[subnum]->grp]->sname ,usub,cfg.sub[subnum]->sname,smb.curmsg+1,smb.msgs); - sprintf(str,"ABCDEFILMNPQRTUY?<>[]{}-+.,"); + sprintf(str,"ABCDEFILMNPQRTUY?<>[]{}-+()"); if(sub_op(subnum)) strcat(str,"O"); do_find=true; @@ -1090,11 +1090,12 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; } break; - case '.': /* Thread forward */ + case ')': /* Thread forward */ l=msg.hdr.thread_first; if(!l) l=msg.hdr.thread_next; if(!l) { domsg=0; + bputs(text[NoMessagesFound]); break; } for(u=0;u<smb.msgs;u++) @@ -1102,11 +1103,16 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(u<smb.msgs) smb.curmsg=u; + else { + domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; - case ',': /* Thread backwards */ + case '(': /* Thread backwards */ if(!msg.hdr.thread_back) { domsg=0; + bputs(text[NoMessagesFound]); break; } for(u=0;u<smb.msgs;u++) @@ -1114,6 +1120,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(u<smb.msgs) smb.curmsg=u; + else { + domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case '>': /* Search Title forward */ @@ -1122,8 +1132,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case '<': /* Search Title backward */ @@ -1132,8 +1144,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(i>-1) smb.curmsg=i; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case '}': /* Search Author forward */ @@ -1143,8 +1157,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case '{': /* Search Author backward */ @@ -1154,8 +1170,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(i>-1) smb.curmsg=i; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case ']': /* Search To User forward */ @@ -1165,8 +1183,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(u<smb.msgs) smb.curmsg=u; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case '[': /* Search To User backward */ @@ -1176,8 +1196,10 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; if(i>-1) smb.curmsg=i; - else + else { domsg=0; + bputs(text[NoMessagesFound]); + } do_find=false; break; case 0: /* Carriage return - Next Message */ -- GitLab