/[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.5 by sysadm, Sat Jul 3 13:56:04 2004 UTC Revision 1.11 by sysadm, Thu Sep 16 15:38:59 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 33  int innd::Accept(void) Line 33  int innd::Accept(void)
33  {  {
34          CString out,cmd;          CString out,cmd;
35          char temp[256];          char temp[256];
         HANDLE hThreadCurrent;  
36    
37          try          try
38          {          {
                 hThreadCurrent = GetCurrentThread();  
   
39                  out.Format("200 %s ready.",App_common::GetVersion());                  out.Format("200 %s ready.",App_common::GetVersion());
40                  this->s_send(out);                  this->s_send(out);
41                  while(!this->thread_terminate)                  while(!this->thread_terminate)
42                  {                  {
43                          this->GetParentThread()->GetThreadPool()->SetThreadStatus(hThreadCurrent,thread_pool::S_WAITING);                          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(hThreadCurrent,thread_pool::S_WORKING);                          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    
# Line 159  int innd::cmd_list(void) Line 156  int innd::cmd_list(void)
156    
157                  sql = "select * from innd_conf order by `group`";                  sql = "select * from innd_conf order by `group`";
158    
159                  RS.Open(CRecordset::snapshot,sql,CRecordst::forwardOnly | CRecordset::readOnly);                  RS.Open(CRecordset::snapshot,sql,CRecordset::forwardOnly | CRecordset::readOnly);
160                  while(!RS.IsEEOF())                  while(!RS.IsEOF())
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 319  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 358  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[1024];
359                    e->GetErrorMessage(strErrMsg,1024);
360                    syslog << logfile::log_head << "Error in cmd_ihave() [" << strErrMsg << "]" << endl;
361                  e->Delete();                  e->Delete();
362                  return -1;                  return -1;
363          }          }
# Line 399  int innd::db_env_init(void) Line 398  int innd::db_env_init(void)
398          }          }
399          return 0;          return 0;
400  }  }
401    
402    bool innd::check_priv(void)
403    {
404            return this->access.get;
405    }


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

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