/[LeafOK_CVS]/innwebd/innd.cpp
ViewVC logotype

Diff of /innwebd/innd.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.3 by sysadm, Fri Jul 2 11:32:20 2004 UTC Revision 1.7 by sysadm, Sun Jul 4 08:04:08 2004 UTC
# Line 1  Line 1 
1  /*******************************************************/  /*******************************************************/
2  /*                                                     */  /*                                                     */
3  /*  LeafOK Innd                                        */  /*  LeafOK Innbbsd                                     */
4  /*  Copyright (C) LeafOK.com, 2003-2004                */  /*  Copyright (C) LeafOK.com, 2003-2004                */
5  /*                                                     */  /*                                                     */
6  /*  Programmed by Leaf                                 */  /*  Programmed by Leaf                                 */
7  /*  E-mail:leaf@leafok.com  QQ:6049044                 */  /*  E-mail:leaflet@leafok.com  QQ:6049044              */
8  /*                                                     */  /*                                                     */
9  /*  http://bbs.leafok.com                              */  /*  http://bbs.leafok.com                              */
10  /*  http://bbs.leafok.net                              */  /*  http://bbs.leafok.net                              */
# Line 14  Line 14 
14    
15  #include "StdAfx.h"  #include "StdAfx.h"
16  #include ".\innd.h"  #include ".\innd.h"
17  #include ".\nntp_active.h"  #include ".\base_active.h"
18  #include ".\App_common.h"  #include ".\App_common.h"
19    
20  using namespace std;  using namespace std;
# Line 40  int innd::Accept(void) Line 40  int innd::Accept(void)
40                  this->s_send(out);                  this->s_send(out);
41                  while(!this->thread_terminate)                  while(!this->thread_terminate)
42                  {                  {
43                            this->GetParentThread()->GetThreadPool()->SetThreadStatus(GetCurrentThreadId(),thread_pool::S_WAITING);
44    
45                          if (this->s_receive(out) == 0)  //Connection closed                          if (this->s_receive(out) == 0)  //Connection closed
46                                  break;                                  break;
47                          out.Trim();                          out.Trim();
48    
49                            this->GetParentThread()->GetThreadPool()->SetThreadStatus(GetCurrentThreadId(),thread_pool::S_WORKING);
50    
51                          syslog << logfile::log_head << "Cmd: " << out << endl;                          syslog << logfile::log_head << "Cmd: " << out << endl;
52    
53                          if (sscanf(out,"%20s",temp) ==1)                          if (sscanf(out,"%20s",temp) ==1)
# Line 156  int innd::cmd_list(void) Line 160  int innd::cmd_list(void)
160                  while(!RS.IsEEOF())                  while(!RS.IsEEOF())
161                  {                  {
162                          RS.GetFieldValue("group",dbVar,SQL_C_CHAR);                          RS.GetFieldValue("group",dbVar,SQL_C_CHAR);
163                          group = *(dbVr.m_pstring);                          group = *(dbVar.m_pstring);
164                          art_begin = 1;                          art_begin = 1;
165                          art_end = 0;;                          art_end = 0;;
166                          RS.GetFieldValue("in",dbVar,SQL_C_SSHORT);                          RS.GetFieldValue("in",dbVar,SQL_C_SSHORT);
# Line 312  int innd::cmd_ihave(const char* msg_id) Line 316  int innd::cmd_ihave(const char* msg_id)
316                  if (strcmp(cmd,"cancel")==0 && strcmp(cancel_msg_id,"")!=0) //Empty Message-ID                  if (strcmp(cmd,"cancel")==0 && strcmp(cancel_msg_id,"")!=0) //Empty Message-ID
317                  {                  {
318                          //Delete article                          //Delete article
319                          sql.Format("select AID from innd_logfile where msg_id='%s'"                          sql.Format("select AID from innd_log where msg_id='%s'"
320                                  " and op='I' and cancel=0",base::addslashes(cancel_msg_id));                                  " and op='I' and cancel=0",base::addslashes(cancel_msg_id));
321    
322                          RS.Open(CRecordset::snapshot,sql,CRecordset::forwardOnly | CRecordset::readOnly);                          RS.Open(CRecordset::snapshot,sql,CRecordset::forwardOnly | CRecordset::readOnly);
# Line 351  int innd::cmd_ihave(const char* msg_id) Line 355  int innd::cmd_ihave(const char* msg_id)
355          }          }
356          catch(CException* e)          catch(CException* e)
357          {          {
358                  syslog << logfile::log_head << "Error in cmd_ihave()" << endl;                  char strErrMsg[256];
359                    e->GetErrorMessage(strErrMsg,256);
360                    syslog << logfile::log_head << "Error in cmd_ihave() [" << strErrMsg << "]" << endl;
361                  e->Delete();                  e->Delete();
362                  return -1;                  return -1;
363          }          }
# Line 361  int innd::cmd_ihave(const char* msg_id) Line 367  int innd::cmd_ihave(const char* msg_id)
367    
368  int innd::Shutdown(void)  int innd::Shutdown(void)
369  {  {
370          nntp_active nntpClient;          base_active nntpClient;
371    
372          if (this->thread_terminate)          if (this->thread_terminate)
373                  return 1;                  return 1;


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1