From fc7ab33bdcfc22637e891be1ddc506c04d85dab7 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Sat, 22 Aug 2015 06:16:58 +0000 Subject: [PATCH] Fix warning, but if j is at UINT32_MAX+1, you're still going to have a Bad Time{tm}. --- src/sbbs3/readmsgs.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/sbbs3/readmsgs.cpp b/src/sbbs3/readmsgs.cpp index e1ffcddc41..8a414b8e3b 100644 --- a/src/sbbs3/readmsgs.cpp +++ b/src/sbbs3/readmsgs.cpp @@ -337,9 +337,10 @@ post_t * sbbs_t::loadposts(uint32_t *posts, uint subnum, ulong ptr, long mode, u return(post); } -static uint32_t get_start_msg(sbbs_t* sbbs, smb_t* smb) +static int64_t get_start_msg(sbbs_t* sbbs, smb_t* smb) { - uint32_t i,j=smb->curmsg+1; + uint32_t j=smb->curmsg+1; + int64_t i; if(j<smb->msgs) j++; @@ -367,6 +368,7 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) char find_buf[128]; char tmp[128]; int i; + int64_t i64; int quit=0; uint usub,ugrp,reads=0; uint lp=0; @@ -858,8 +860,9 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) case 'F': /* find text in messages */ domsg=0; mode&=~SCAN_FIND; /* turn off find mode */ - if((i=get_start_msg(this,&smb))<0) + if((i64=get_start_msg(this,&smb))<0) break; + i=64; bputs(text[SearchStringPrompt]); if(!getstr(find_buf,40,K_LINE|K_UPPER|K_EDIT|K_AUTODEL)) break; @@ -878,8 +881,9 @@ int sbbs_t::scanposts(uint subnum, long mode, const char *find) break; case 'L': /* List messages */ domsg=0; - if((i=get_start_msg(this,&smb))<0) + if((i64=get_start_msg(this,&smb))<0) break; + i=i64; listmsgs(subnum,0,post,i,smb.msgs); sys_status&=~SS_ABORT; break; -- GitLab