From f14c493976748127b52d34f010c3f41397d81ad6 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 30 Oct 2002 10:36:02 +0000 Subject: [PATCH] MsgBase class now requires an open() method call. --- exec/chkspace.js | 4 ++++ exec/newslink.js | 5 +++-- exec/nntpservice.js | 22 ++++++++++++++++------ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/exec/chkspace.js b/exec/chkspace.js index 16090039e8..1d50eba4c9 100644 --- a/exec/chkspace.js +++ b/exec/chkspace.js @@ -12,6 +12,10 @@ if(freespace==-1 || freespace > Number(argv[0])*1024*1024) log("!Low disk space: " + freespace + " bytes"); msgbase = new MsgBase("mail"); +if(msgbase.open!=undefined && msgbase.open()==false) { + log("!ERROR " + msgbase.last_error); + exit(); +} hdr = { to: 'sysop', to_ext: '1', from: 'chkspace', subject: 'Low disk space notification' } diff --git a/exec/newslink.js b/exec/newslink.js index e7cc488fbf..94024e5209 100644 --- a/exec/newslink.js +++ b/exec/newslink.js @@ -214,8 +214,9 @@ for(i in area) { printf("sub: %s, newsgroup: %s\r\n",sub,newsgroup); msgbase = new MsgBase(sub); - if(msgbase == null) { - printf("!ERROR opening msgbase: %s\r\n",sub); + if(msgbase.open!=undefined && msgbase.open()==false) { + printf("!ERROR %s opening msgbase: %s\r\n",msgbase.last_error,sub); + delete msgbase; continue; } diff --git a/exec/nntpservice.js b/exec/nntpservice.js index e90cc6f905..5d167101ad 100644 --- a/exec/nntpservice.js +++ b/exec/nntpservice.js @@ -78,11 +78,14 @@ function getReferenceTo(reference) { var msg = parseInt(reference.replace(re,"$1")); var msgbase = new MsgBase(sub); - if (msgbase != null) { - var hdr = msgbase.get_msg_header(false,msg); - if (hdr != null) - to = hdr.from; - } + if(msgbase.open!=undefined && msgbase.open()==false) + return to; + + var hdr = msgbase.get_msg_header(false,msg); + if (hdr != null) + to = hdr.from; + + msgbase.close(); return to; } @@ -205,6 +208,8 @@ while(client.socket.is_connected) { for(g in msg_area.grp_list) for(s in msg_area.grp_list[g].sub_list) { msgbase=new MsgBase(msg_area.grp_list[g].sub_list[s].code); + if(msgbase.open!=undefined && msgbase.open()==false) + continue; writeln(format("%s %u %u %s" ,msg_area.grp_list[g].sub_list[s].newsgroup ,msgbase.last_msg @@ -237,9 +242,12 @@ while(client.socket.is_connected) { for(g in msg_area.grp_list) for(s in msg_area.grp_list[g].sub_list) if(msg_area.grp_list[g].sub_list[s].newsgroup.toLowerCase()==cmd[1].toLowerCase()) { - found=true; msgbase=new MsgBase(msg_area.grp_list[g].sub_list[s].code); + if(msgbase.open!=undefined && msgbase.open()==false) + continue; + found=true; selected=msg_area.grp_list[g].sub_list[s]; + break; } if(found) writeln(format("211 %u %u %u %s group selected" @@ -652,6 +660,8 @@ while(client.socket.is_connected) { hdr.from=user.name; // Use real names msgbase=new MsgBase(msg_area.grp_list[g].sub_list[s].code); + if(msgbase.open!=undefined && msgbase.open()==false) + continue; if(msgbase.save_msg(hdr,body)) { log(format("%s posted a message on %s",user.alias,newsgroups[n])); writeln("240 article posted ok"); -- GitLab