diff --git a/src/sbbs3/getmsg.cpp b/src/sbbs3/getmsg.cpp index 4fc563310329829b14b031f4abc6e890185a9b28..c525fca165f8d15c2a473832cd8b6d3a98ebaeb8 100644 --- a/src/sbbs3/getmsg.cpp +++ b/src/sbbs3/getmsg.cpp @@ -501,3 +501,35 @@ ulong sbbs_t::getlastmsg(uint subnum, ulong *ptr, time_t *t) return(total); } +/****************************************************************************/ +/* Retrieve a message by RFC822 message-ID */ +/****************************************************************************/ +BOOL DLLCALL get_msg_by_id(scfg_t* scfg, smb_t* smb, char* id, smbmsg_t* msg) +{ + ulong n; + int ret; + + for(n=0;n<smb->status.last_msg;n++) { + memset(msg,0,sizeof(smbmsg_t)); + msg->offset=n; + if(smb_getmsgidx(smb, msg)!=0) + break; + + if(smb_lockmsghdr(smb,msg)!=0) + continue; + + ret=smb_getmsghdr(smb,msg); + + smb_unlockmsghdr(smb,msg); + + if(ret!=SMB_SUCCESS) + continue; + + if(strcmp(get_msgid(scfg,smb->subnum,msg),id)==0) + return(TRUE); + + smb_freemsgmem(msg); + } + + return(FALSE); +} diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index 9c0ac1d30d2772c6df119509afd0bfe1fdce0238..51adcd4a8cde0a490b32bd5edbc2ec9e66d98c4d 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -374,39 +374,6 @@ static BOOL parse_header_object(JSContext* cx, private_t* p, JSObject* hdr, smbm return(TRUE); } -/****************************************************************************/ -/* Retrieve a message by RFC822 message-ID */ -/****************************************************************************/ -BOOL DLLCALL get_msg_by_id(scfg_t* scfg, smb_t* smb, char* id, smbmsg_t* msg) -{ - ulong n; - int ret; - - for(n=0;n<smb->status.last_msg;n++) { - memset(msg,0,sizeof(smbmsg_t)); - msg->offset=n; - if(smb_getmsgidx(smb, msg)!=0) - break; - - if(smb_lockmsghdr(smb,msg)!=0) - continue; - - ret=smb_getmsghdr(smb,msg); - - smb_unlockmsghdr(smb,msg); - - if(ret!=SMB_SUCCESS) - continue; - - if(strcmp(get_msgid(scfg,smb->subnum,msg),id)==0) - return(TRUE); - - smb_freemsgmem(msg); - } - - return(FALSE); -} - BOOL msg_offset_by_id(scfg_t* scfg, smb_t* smb, char* id, ulong* offset) { smbmsg_t msg;