/[PAMELA software]/rawreader/src/Verify.cpp
ViewVC logotype

Diff of /rawreader/src/Verify.cpp

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

revision 1.2 by cafagna, Sun Dec 10 12:21:27 2006 UTC revision 1.3 by cafagna, Sun Dec 10 12:52:48 2006 UTC
# Line 5  Line 5 
5  #include "CRC.h"  #include "CRC.h"
6    
7  short int CRC_H(char [], char []);  short int CRC_H(char [], char []);
8    extern char MYSQL[80];
9    extern char database[80];
10    extern float YODA_flag;
11    extern float transmit_flag;
12    extern int print_flag;
13    
14  void verify(char fni[], char inf[], char log[], char pam[],  void verify(char fni[], char inf[], char log[], char pam[],
15                    char fno[], char path[], char name_ini[], char name_in[], int packet_type[],                    char fno[], char path[], char name_ini[], char name_in[], int packet_type[],
16                    float IndexQ, int r_counter, int real_route[])                    float IndexQ, int r_counter, int real_route[])
17  {  {
18   FILE *fo_log, *fo_inf, *fo_work, *fo_miss, *fo_row;   FILE *fo_log, *fo_inf, *fo_miss, *fo_row;
19    
20   time_t seconds;   time_t seconds;
21    
# Line 18  void verify(char fni[], char inf[], char Line 23  void verify(char fni[], char inf[], char
23   char time_year[5], time_month[5], time_day[5];   char time_year[5], time_month[5], time_day[5];
24   char data_time[80];   char data_time[80];
25   char cirquit_no[10], route_no[80], name_path[80], name_cln2[80];   char cirquit_no[10], route_no[80], name_path[80], name_cln2[80];
26     char connection[80];
27   bool file_ready, file_deleted, file_archived, file_proces;   bool file_ready, file_deleted, file_archived, file_proces;
28   int flag_to_transmit=0;   int flag_to_transmit=0;
29   int flag_sec_trans=0;             /*Second transmission flag*/   int flag_sec_trans=0;             /*Second transmission flag*/
# Line 27  void verify(char fni[], char inf[], char Line 33  void verify(char fni[], char inf[], char
33   char str_route[10];   char str_route[10];
34   char str_file[80];   char str_file[80];
35    
36   char ch;   char ch, ttt[80];
37   char miss_file[80];   char miss_file[80];
38   char Name_Buf[9];                 /*Name buffer*/   char Name_Buf[9];                 /*Name buffer*/
39   char Name_Buf_add[9];             /*Header buffer*/   char Name_Buf_add[9];             /*Header buffer*/
# Line 45  void verify(char fni[], char inf[], char Line 51  void verify(char fni[], char inf[], char
51   int Byte_adr2[4];                 /*Bytes for Packet end packing*/   int Byte_adr2[4];                 /*Bytes for Packet end packing*/
52   int packet_counter[NumberPack+1]; /*Counter for each packet type*/   int packet_counter[NumberPack+1]; /*Counter for each packet type*/
53   int count_name_cor=0;             /*Counter for packet with corrected name*/   int count_name_cor=0;             /*Counter for packet with corrected name*/
54   int er_pack_count=0;              /*Error packet counter*/   int er_pack_CRC=0;                /*CRC error packet counter*/
55     int er_pack_Len=0;                /*Length error packet counter*/
56     int er_pack_count=0;              /*Errors counter*/
57   int count_miss=0;                 /*Missed packet counter*/   int count_miss=0;                 /*Missed packet counter*/
58     int count_sec_miss=0;
59   int P_er=0;                       /*Number of packet with counter error*/   int P_er=0;                       /*Number of packet with counter error*/
60   int flag_CRC_H[3];                /*Flag for CRC header error*/   int flag_CRC_H[3];                /*Flag for CRC header error*/
61   int flag_pack[3];                 /*Flag for error in packet counter*/   int flag_pack[3];                 /*Flag for error in packet counter*/
# Line 69  void verify(char fni[], char inf[], char Line 78  void verify(char fni[], char inf[], char
78   long int numP[3];                     /*Packet numbers for previous packets*/   long int numP[3];                     /*Packet numbers for previous packets*/
79   long int LenP[3];                 /*Packet length for previous packets*/   long int LenP[3];                 /*Packet length for previous packets*/
80   unsigned long int time_p[3];      /*Packet time*/   unsigned long int time_p[3];      /*Packet time*/
81     unsigned long int time_max=0;
82     unsigned long int time_min=0;
83   long int pack_length=0;           /*PAMELA packet length*/   long int pack_length=0;           /*PAMELA packet length*/
84   long long int adr_first[3];       /*Start displacement from file begin*/   long long int adr_first[3];       /*Start displacement from file begin*/
85   long long int adr_last[3];        /*Finish displacement from file begin*/   long long int adr_last[3];        /*Finish displacement from file begin*/
# Line 78  void verify(char fni[], char inf[], char Line 89  void verify(char fni[], char inf[], char
89   unsigned long int k=0, j=0;   unsigned long int k=0, j=0;
90   int i;   int i;
91   //initialization  , all =0   //initialization  , all =0
92   float process, transmit;   float ratioCln1Cln2;
93   int output;   int output;
94   char str[80];   char str[80];
95    
  FILE *fpar;  
  fpar=fopen("/home/pamelaprod/rawreader/bin/parameters.dat","r");  
  fscanf(fpar,"%f %s %s %s",&process,str,str,str);  
  fscanf(fpar,"%f %s %s %s",&transmit,str,str,str);  
  fscanf(fpar,"%i",&output);  
  fclose(fpar);  
   
96   stringstream oss, oss1;   stringstream oss, oss1;
97    
98   TSQLServer *sqlServer = TSQLServer::Connect("mysql://pamela_1.ntsomz.ru:3306/rawreader", "pamelaprod", "rawprod");   strcpy(connection,MYSQL);
99     strcat(connection,database);
100     TSQLServer *sqlServer = TSQLServer::Connect(connection, "pamelaprod", "rawprod");
101    
102   oss.str("");   oss.str("");
103   oss<<"select * from FILES1";   oss<<"select * from FILES1";
# Line 133  void verify(char fni[], char inf[], char Line 139  void verify(char fni[], char inf[], char
139   for (i=0; i<2; i++) temp[i]=0;   for (i=0; i<2; i++) temp[i]=0;
140    
141   ifstream fin;   ifstream fin;
142   ofstream fo_pam;     ofstream fo_pam, fo_work;  
143  /**********************OPEN NECESSARY FILES************************/  /**********************OPEN NECESSARY FILES************************/
144  /******************************************************************/  /******************************************************************/
145   fin.open(fni, ios::binary);     // open input file "xxx_mmm_nnnnn__cln1.pam"   fin.open(fni, ios::binary);     // open input file "nnnnn_mmm_xxx_cln1.pam"
146   if(fin.good()==0) {cerr<<"can not open input file "<<fni<<"\n"; exit(1);}   if(fin.good()==0) {cerr<<"can not open input file "<<fni<<"\n"; exit(1);}
147    
148   fo_work=fopen(fno, "wb");       //open output help file "work.dat"   fo_work.open(fno, ios::out);    //open output help file "work.dat"
149   if(fo_work==NULL) {cerr<<"can not open outputfile"; exit(1);}   if(!fo_work) {cerr<<"can not open outputfile"; exit(1);}
150    
151   fo_log=fopen(log, "wb");        //open output file "xxx_mmm_nnnnn_cln2.log"   fo_log=fopen(log, "wb");        //open output file "xxx_mmm_nnnnn_cln2.log"
152   if(fo_log==NULL) {cerr<<"can not open log file"; exit(1);}   if(fo_log==NULL) {cerr<<"can not open log file"; exit(1);}
# Line 160  void verify(char fni[], char inf[], char Line 166  void verify(char fni[], char inf[], char
166  /******************************************************************/  /******************************************************************/
167    
168  //Write proccessed filename in help file  //Write proccessed filename in help file
169  // fprintf(fo_work,"file name=%s\n",name_in);    fo_work<<"initial file name : "<<name_in<<"\n";
170    
171  /******************************************************************/  /******************************************************************/
172  /******************MAIN READING CYCLE BEGIN************************/  /******************MAIN READING CYCLE BEGIN************************/
# Line 194  void verify(char fni[], char inf[], char Line 200  void verify(char fni[], char inf[], char
200  ////////////////// PAMELA PACKET IDENTIFICATION////////////////////  ////////////////// PAMELA PACKET IDENTIFICATION////////////////////
201  ///////////////////////////////////////////////////////////////////  ///////////////////////////////////////////////////////////////////
202    if (((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&    if (((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&
203             (tmpP==numP[2]+1)&&num_type!=0)||             (tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||
204        ((int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&        ((int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&
205             (tmpP==numP[2]+1)&&num_type!=0)||             (tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||
206            ((int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&            ((int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&
207             (tmpP==numP[2]+1)&&num_type!=0)||             (tmpP==numP[2]+1)&&num_type!=0&&N1!=0)||
208            ((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&            ((int)(unsigned char)Name_Buf[0]==CODE_BYTE1&&
209             (int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&             (int)(unsigned char)Name_Buf[1]==CODE_BYTE2&&
210             (int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&num_type1!=0&&num_type1==num_type2)||             (int)(unsigned char)Name_Buf[2]==CODE_BYTE3&&num_type1!=0&&num_type1==num_type2)||
# Line 210  void verify(char fni[], char inf[], char Line 216  void verify(char fni[], char inf[], char
216     N1+=1; FLAG_BIG=0;     N1+=1; FLAG_BIG=0;
217     if (N1==1) {icount+=8;}         if (N1==1) {icount+=8;}    
218     packet_counter[num_type]+=1;  //count packet number for each type     packet_counter[num_type]+=1;  //count packet number for each type
219  //   if ((fmod((float)(tmpP),(float)(1000.))==0.)&&(tmpP!=0)) cout<<"verifying "<<tmpP<<"\n";     if ((print_flag>0) && (fmod((float)(tmpP),(float)(1000.))==0.)&&(tmpP!=0)) cout<<"verifying "<<tmpP<<"\n";
   
220     if (N1!=1)     if (N1!=1)
221     {     {
222  /**************PAMELA PREVIOUS PACKET END DISPLACEMENT*************/  /**************PAMELA PREVIOUS PACKET END DISPLACEMENT*************/
# Line 219  void verify(char fni[], char inf[], char Line 224  void verify(char fni[], char inf[], char
224      else if ((icount-8-adr_first[2]+1-LenP[2]-16)>Limit) {adr_last[2]=adr_first[2]+Limit;} //end byte for previous packet      else if ((icount-8-adr_first[2]+1-LenP[2]-16)>Limit) {adr_last[2]=adr_first[2]+Limit;} //end byte for previous packet
225  /**************PAMELA PACKET LENGTH ERROR ANALYSIS*****************/  /**************PAMELA PACKET LENGTH ERROR ANALYSIS*****************/
226           if ( (flag_CRC_H[2]==1)&&(GLOBAL_LEN_ER>0)&&           if ( (flag_CRC_H[2]==1)&&(GLOBAL_LEN_ER>0)&&
227                    ( ((adr_last[2]-adr_first[2]+1)<(LenP[2]+16))                    ( ((adr_last[2]-adr_first[2]+1)<(LenP[2]+16))||((adr_last[2]-adr_first[2]+1-LenP[2]-16)>64) ) )
                     ||((adr_last[2]-adr_first[2]+1-LenP[2]-16)>64) ) )  
228           {flag_len[2]=1;           {flag_len[2]=1;
229  //        cout<<"pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16<<" Type="<<num_type<<"\n";            er_pack_Len+=1;
230              if (print_flag>0)
231              {cout<<"pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16<<" Type="<<num_type<<"\n";}
232              fo_work<<"Length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
233                       " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<
234                       packet_type[num_type]<<dec<<"\n";
235           }           }
236           if ( (flag_CRC_H[2]==0)&&(GLOBAL_LEN_ER>0)&&           if ( (flag_CRC_H[2]==0)&&(GLOBAL_LEN_ER>0)&&
237                    ( ((adr_last[2]-adr_first[2]+1)<(LenP[2]+16))||((adr_last[2]-adr_first[2]+1-LenP[2]-16)>64) ) )                    ( ((adr_last[2]-adr_first[2]+1)<(LenP[2]+16))||((adr_last[2]-adr_first[2]+1-LenP[2]-16)>64) ) )
238           {flag_len_weak[2]=1;           {flag_len_weak[2]=1;
239  //        cout<<"weak length error; pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16<<" Type="<<num_type<<"\n";            if (print_flag>0)
240              {cout<<"weak length error; pack num "<<numP[2]<<" len="<<LenP[2]<<" true len="<<adr_last[2]-adr_first[2]-16
241                   <<" Type="<<num_type<<"\n";}
242              fo_work<<"Weak length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
243                       " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<num_type<<"\n";
244           }           }
245    
246      if ((GLOBAL_LEN_ER>0)&&(flag_len[2]==1))      if ((GLOBAL_LEN_ER>0)&&(flag_len[2]==1))
247      {      {
248  //Write data in file "xxx_mmm_nnnnn_cln2.pam"  //Write data in file "nnnnn_mmm_xxx_cln2.pam"
249       for (i=0;i<adr_last[2]-adr_first[2]+1;i++)       for (i=0;i<adr_last[2]-adr_first[2]+1;i++)
250       {fo_pam<< buffer[i];}       {fo_pam<< buffer[i];}
251      }      }
252      else if ((GLOBAL_LEN_ER>0)&&(flag_len[2]!=1)&&(flag_len_weak[2]!=1))      else if ((GLOBAL_LEN_ER>0)&&(flag_len[2]!=1)&&(flag_len_weak[2]!=1))
253      {      {
254  //Write data in file "xxx_mmm_nnnnn_cln2.pam"  //Write data in file "nnnnn_mmm_xxx_cln2.pam"
255       for (i=0;i<LenP[2]+16;i++)       for (i=0;i<LenP[2]+16;i++)
256       {fo_pam<< buffer[i];}       {fo_pam<< buffer[i];}
257       adr_last[2]=adr_first[2]+LenP[2]+15;       adr_last[2]=adr_first[2]+LenP[2]+15;
# Line 246  void verify(char fni[], char inf[], char Line 259  void verify(char fni[], char inf[], char
259      }      }
260      else if ((GLOBAL_LEN_ER>0)&&(flag_len[2]!=1)&&(flag_len_weak[2]==1))      else if ((GLOBAL_LEN_ER>0)&&(flag_len[2]!=1)&&(flag_len_weak[2]==1))
261      {      {
262  //Write data in file "xxx_mmm_nnnnn_cln2.pam"  //Write data in file "nnnnn_mmm_xxx_cln2.pam"
263       for (i=0;i<adr_last[2]-adr_first[2]+1;i++)       for (i=0;i<adr_last[2]-adr_first[2]+1;i++)
264       {fo_pam<< buffer[i];}       {fo_pam<< buffer[i];}
265      }          }    
# Line 268  void verify(char fni[], char inf[], char Line 281  void verify(char fni[], char inf[], char
281       {Byte_adr2[3-i]=(int)(temp[1]/(long int)(pow(256.,3-i)));       {Byte_adr2[3-i]=(int)(temp[1]/(long int)(pow(256.,3-i)));
282        temp[1]=temp[1]-(long int)pow(256.,3-i)*        temp[1]=temp[1]-(long int)pow(256.,3-i)*
283        (int)(temp[1]/(long int)(pow(256.,3-i)));}}              (int)(temp[1]/(long int)(pow(256.,3-i)));}}      
284        //Write previous packet end displacement in xxx_mmm_nnnnn_cln2.log file        //Write previous packet end displacement in nnnnn_mmm_xxx_cln2.log file
285       for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr2[i]));       for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr2[i]));
286      }      }
287  /*********************reading remaining header********************/  /*********************reading remaining header********************/
# Line 288  void verify(char fni[], char inf[], char Line 301  void verify(char fni[], char inf[], char
301              LenP[2]=pack_length;              LenP[2]=pack_length;
302                      numP[2]=(long int)(unsigned char)(Name_Buf[7])+                      numP[2]=(long int)(unsigned char)(Name_Buf[7])+
303                      256*(long int)(unsigned char)(Name_Buf[6])+                      256*(long int)(unsigned char)(Name_Buf[6])+
304              256*256*(long int)(unsigned char)(Name_Buf[5]);              256*256*(long int)(unsigned char)(Name_Buf[5]);                
305                      time_p[2]=(long int)(unsigned char)(Name_Buf_add[3])+                      time_p[2]=(long int)(unsigned char)(Name_Buf_add[3])+
306                           256*(long int)(unsigned char)(Name_Buf_add[2])+                                256*(long int)(unsigned char)(Name_Buf_add[2])+
307                  256*256*(long int)(unsigned char)(Name_Buf_add[1])+                           256*256*(long int)(unsigned char)(Name_Buf_add[1])+
308                          256*256*256*(long int)(unsigned char)(Name_Buf_add[0]);                      256*256*256*(long int)(unsigned char)(Name_Buf_add[0]);
309                        time_max=time_p[2];
310                        time_min=time_p[2];
311    
312                          CRC_Header[2]=(int)(unsigned char)(Name_Buf_add[7]);                          CRC_Header[2]=(int)(unsigned char)(Name_Buf_add[7]);
313                          adr_first[2]=icount-15;                          adr_first[2]=icount-15;
# Line 340  void verify(char fni[], char inf[], char Line 355  void verify(char fni[], char inf[], char
355                            time_p[2]=(long int)(unsigned char)(Name_Buf_add[3])+                            time_p[2]=(long int)(unsigned char)(Name_Buf_add[3])+
356                                   256*(long int)(unsigned char)(Name_Buf_add[2])+                                   256*(long int)(unsigned char)(Name_Buf_add[2])+
357                               256*256*(long int)(unsigned char)(Name_Buf_add[1])+                               256*256*(long int)(unsigned char)(Name_Buf_add[1])+
358                           256*256*256*(long int)(unsigned char)(Name_Buf_add[0]);                           256*256*256*(long int)(unsigned char)(Name_Buf_add[0]);                        
359                                
360                           CRC_Header[2]=(int)(unsigned char)(Name_Buf_add[7]);                           CRC_Header[2]=(int)(unsigned char)(Name_Buf_add[7]);
361                           CRC_bad_pack[2]=0;                           CRC_bad_pack[2]=0;
362                           adr_first[2]=icount-15;                           adr_first[2]=icount-15;
# Line 365  void verify(char fni[], char inf[], char Line 380  void verify(char fni[], char inf[], char
380    
381     CalcCheckSum=(short int)(unsigned char)CM_Compute_CRC16(0, (unsigned char*)&buff, 15);     CalcCheckSum=(short int)(unsigned char)CM_Compute_CRC16(0, (unsigned char*)&buff, 15);
382     if (CalcCheckSum!=(short int)(unsigned char)(Name_Buf_add[7]))     if (CalcCheckSum!=(short int)(unsigned char)(Name_Buf_add[7]))
383     {cerr<<"checksum error "<<N1<<" Pack="<<numP[2]<<" "<<num_type<<" "<<bitset<8>(CalcCheckSum)<<     {er_pack_CRC+=1;
384            " CRC="<<bitset<8>((int)(unsigned char)(Name_Buf_add[7]))<<"\n";      CRC_bad_pack[2]=numP[2];
385          CRC_bad_pack[2]=numP[2];      flag_CRC_H[2]=1;
386          flag_CRC_H[2]=1;}      fo_work<<"CRC error : PAMELA packet="<<numP[2]<<" : real CRC="<<bitset<8>(CRC_Header[2])<<"("<<CRC_Header[2]<<
387                 ") : calculated CRC="<<bitset<8>(CalcCheckSum)<<"("<<CalcCheckSum<<")\n";
388       }
389       if ((time_max<time_p[2])&&(flag_CRC_H[2]!=1)) time_max=time_p[2];
390  /*********packet counter error analysis****************************/  /*********packet counter error analysis****************************/
391     if ((numP[2]!=(numP[1]+1))&&(N1!=1)&&     if ((numP[2]!=(numP[1]+1))&&(N1!=1)&&(flag_len[1]==0)&&(CRC_bad_pack[2]==numP[2]))
392             (flag_len[1]==0)&&(CRC_bad_pack[2]==numP[2])) flag_pack[2]=1;     {
393        fo_work<<"Packet number error : packet="<<numP[2]<<" : previous="<<numP[1]<<" "<<numP[0]<<"\n";
394        flag_pack[2]=1;
395       }
396    
397       if ((numP[1]!=(numP[0]+1))&&(numP[1]!=(numP[2]-1))&&(N1!=1)&&(CRC_bad_pack[1]==numP[1]))
398       {
399        fo_work<<"Packet number error : packet="<<numP[1]<<" : previous="<<numP[0]<<" : next="<<numP[2]<<"\n";
400    
401        P_er=N1-1; flag_pack[1]=1;
402    
    if ((numP[1]!=(numP[0]+1))&&(numP[1]!=(numP[2]-1))&&(N1!=1)&&  
            (CRC_bad_pack[1]==numP[1]))  
    {P_er=N1-1; flag_pack[1]=1;  
403  //Correct error packet number//  //Correct error packet number//
404     tmpP=numP[0]+1;     tmpP=numP[0]+1;
405      for (i=0;i<3;i++) Hex[i]=0;      for (i=0;i<3;i++) Hex[i]=0;
406          for (i=0;i<3;i++)      for (i=0;i<3;i++)
407          {if (tmpP/(long int)      (pow(256.,2-i))>=1)      {if (tmpP/(long int) (pow(256.,2-i))>=1)
408                  {Hex[2-i]=(int)(tmpP/(long int)(pow(256.,2-i)));       {Hex[2-i]=(int)(tmpP/(long int)(pow(256.,2-i)));
409               tmpP=tmpP-(long int)(pow(256.,2-i)*        tmpP=tmpP-(long int)(pow(256.,2-i)*(int)(tmpP/(long int)(pow(256.,2-i)) ));
410                           (int)(tmpP/(long int)(pow(256.,2-i)) ));}}       }
411          for (i=5;i<8;i++) (Name_Buf_old[i]=(char)(Hex[7-i]));      }
412          if (CRC_Header[1]==(int)(CRC_H(Name_Buf_old, Name_Buf_add_old)))      for (i=5;i<8;i++) (Name_Buf_old[i]=(char)(Hex[7-i]));
413          {flag_CRC_cor[1]=1;}      for (i=0; i<8; i++)
414        {buff[i]=Name_Buf_old[i];
415         buff[i+8]=Name_Buf_add_old[i];}    
416         if (CRC_Header[1]==(short int)(unsigned char)CM_Compute_CRC16(0, (unsigned char*)&buff, 15))
417         {flag_CRC_cor[1]=1;}
418    //Correct error packet number//
419      tmpP=numP[2]-1;      tmpP=numP[2]-1;
420      for (i=0;i<3;i++) Hex[i]=0;      for (i=0;i<3;i++) Hex[i]=0;
421          for (i=0;i<3;i++)      for (i=0;i<3;i++)
422          {if (tmpP/(long int)(pow(256.,2-i))>=1)      {if (tmpP/(long int)(pow(256.,2-i))>=1)
423                  {Hex[2-i]=(int)(tmpP/(long int)(pow(256.,2-i)));       {Hex[2-i]=(int)(tmpP/(long int)(pow(256.,2-i)));
424               tmpP=tmpP-(long int)pow(256.,2-i)*        tmpP=tmpP-(long int)pow(256.,2-i)*(int)(tmpP/(long int)(pow(256.,2-i)));
425                           (int)(tmpP/(long int)(pow(256.,2-i)));}}       }
426          for (i=5;i<8;i++) (Name_Buf_old[i]=(char)(Hex[7-i]));      }
427          if (CRC_Header[1]==(int)(CRC_H(Name_Buf_old, Name_Buf_add_old)))      for (i=5;i<8;i++) (Name_Buf_old[i]=(char)(Hex[7-i]));
428          {flag_CRC_cor[1]=1;}      for (i=0; i<8; i++)
429        {buff[i]=Name_Buf_old[i];
430         buff[i+8]=Name_Buf_add_old[i];}        
431        if (CRC_Header[1]==(short int)(unsigned char)CM_Compute_CRC16(0, (unsigned char*)&buff, 15))
432        {flag_CRC_cor[1]=1;}
433     }     }
434  /*********************Missing packet analysis**********************/  /*********************Missing packet analysis**********************/
435    /**packet numbers:  21 (22 17 18) 19 ******************************/
436    /***missed packets: 21  20 19 18  17 ******************************/  
437       if ((numP[1]<numP[0])&&(numP[1]==numP[2]-1)&&(flag_pack[0]==0)&&(flag_pack[1]==0)&&(flag_pack[2]==0))
438       {Mis_group+=1;
439        count_sec_miss+=numP[0]-1-numP[1];
440        fprintf(fo_miss,"secondary transmitted packets may be %9i -%9i number of packets=%9i\n",
441                        numP[1],numP[0],numP[0]-1-numP[1]);
442       }
443  /**packet numbers: 10 11 (12 15 19) 20 ****************************/  /**packet numbers: 10 11 (12 15 19) 20 ****************************/
444  /***********missed packets: 16 17 18 ********************************/  /***********missed packets: 16 17 18 ********************************/
445     if ((numP[1]>numP[0]+1)&&(numP[1]<numP[2]-1)&&     else if ((numP[1]>numP[0]+1)&&(numP[1]<numP[2]-1)&&(flag_pack[0]==0)&&(flag_pack[1]==0)&&(flag_pack[2]==0))
            (flag_pack[0]==0)&&(flag_pack[1]==0)&&(flag_pack[2]==0))  
446     {Mis_group+=1;     {Mis_group+=1;
447      fprintf(fo_miss,"%9i%9i\n",numP[1]+1,numP[2]-1);      fprintf(fo_miss,"1) %9i%9i\n",numP[1]+1,numP[2]-1);
448      count_miss+=numP[2]-numP[1]-1;}      count_miss+=numP[2]-numP[1]-1;}
449  /**packet numbers: 10 (11 12 15) 19 20 ****************************/  /**packet numbers: 10 (11 12 15) 19 20 ****************************/
450  /***********missed packets: 13 14 ***********************************/  /***********missed packets: 13 14 ***********************************/
451     else if ((numP[1]>=numP[0]+1)&&(numP[1]<numP[2]-1)&&             else if ((numP[1]>=numP[0]+1)&&(numP[1]<numP[2]-1)&&(flag_pack[2]==0)&&(flag_pack[1]==0)&&(flag_pack[0]==0))
                         (flag_pack[2]==0)&&(flag_pack[1]==0)&&(flag_pack[0]==0))  
452     {Mis_group+=1;     {Mis_group+=1;
453      fprintf(fo_miss,"%9i%9i\n",numP[0]+2,numP[2]-1);      fprintf(fo_miss,"2) %9i%9i\n",numP[0]+2,numP[2]-1);
454      count_miss+=numP[2]-numP[1]-1;}      count_miss+=numP[2]-numP[1]-1;}
455  /**packet numbers: 10 (11 20 15) 16 17 ****************************/  /**packet numbers: 10 (11 20 15) 16 17 ****************************/
456  /********missed packets number =2 ***********************************/  /********missed packets number =2 ***********************************/
457     else if ((numP[0]<numP[2]-2)&&                   else if ((numP[0]<numP[2]-2)&&(flag_pack[2]==0)&&(flag_pack[1]==1)&&(flag_pack[0]==0))  
                         (flag_pack[2]==0)&&(flag_pack[1]==1)&&(flag_pack[0]==0))    
458     {Mis_group+=1;     {Mis_group+=1;
459      fprintf(fo_miss,"%9i%9i%9i\n",numP[0]+1,numP[1],numP[2]-1);      fprintf(fo_miss,"3) %9i%9i\n",numP[0]+1, numP[2]-1);
460      count_miss+=numP[2]-numP[0]-2;}      count_miss+=numP[2]-numP[0]-2;}
461    
462  /**************Time error******************************************/  /**************Time error******************************************/
463     if ((numP[2]>=numP[0]+2)&&(flag_pack[2]==0)&&(flag_pack[0]==0)&&     if ((numP[2]>=numP[0]+2)&&(flag_pack[2]==0)&&(flag_pack[0]==0)&&
464             (flag_time[0]==0)&&(time_p[2]>time_p[0])&&             (flag_time[0]==0)&&(time_p[2]>time_p[0])&&
465             ((time_p[1]<time_p[0])||(time_p[1]>time_p[2])))             ((time_p[1]<time_p[0])||(time_p[1]>time_p[2])))
466     {flag_time[1]=1;}     {flag_time[1]=1;
467        fo_work<<"Time error : PAMELA packet="<<numP[2]<<" : time="<<time_p[1]<<" : time previous="<<time_p[1]
468               <<" : time_next="<<time_p[2]<<"\n";  
469       }
470      
471  /**************Error number calculation****************************/  /**************Error number calculation****************************/
472     if (N1!=1)     if (N1!=1)
473     {flags=(short int)((float)(flag_len_weak[1])+     {flags=(short int)((float)(flag_len_weak[1])+
474                        pow((float)(2*flag_CRC_H[1]),1)+                        pow((float)(2*flag_CRC_H[1]),1)+
475                            pow((float)(2*flag_len[1]),2)+                        pow((float)(2*flag_len[1]),2)+
476                        pow((float)(2*flag_pack[1]),3)+                        pow((float)(2*flag_pack[1]),3)+
477                                            pow((float)(2*flag_name[1]),4)+                        pow((float)(2*flag_name[1]),4)+
478                        pow((float)(2*flag_type[1]),5)+                        pow((float)(2*flag_type[1]),5)+
479                        pow((float)(2*flag_time[1]),6)+                        pow((float)(2*flag_time[1]),6)+
480                                            pow((float)(2*flag_CRC_cor[1]),7));                        pow((float)(2*flag_CRC_cor[1]),7));
481      if (flags!=0) er_pack_count+=1;      if (flags!=0) er_pack_count+=1;
482  //Write error number in log and work.dat files  //Write error number in log file
483          fprintf(fo_log,"%1c",char(flags));      fprintf(fo_log,"%1c",char(flags));
484  //    fprintf(fo_work," error num.=%i CRC=%i Calc=%i\n",  //Write error number in work.dat file
485  //                  flags,bitset<8>(CRC_Header[1]),      if (flags!=0) fo_work<<"PAMELA packet="<<numP[1]<<" : error flag="<<flags<<"\n";
 //                      (int)(CRC_H(Name_Buf_old, Name_Buf_add_old)));  
486     }     }
487  /***********************NAME ERROR*********************************/  /***********************NAME ERROR*********************************/
488     if (((int)(unsigned char)Name_Buf[0]!=CODE_BYTE1)||     if (((int)(unsigned char)Name_Buf[0]!=CODE_BYTE1)||
489         ((int)(unsigned char)Name_Buf[1]!=CODE_BYTE2)||         ((int)(unsigned char)Name_Buf[1]!=CODE_BYTE2)||
490         ((int)(unsigned char)Name_Buf[2]!=CODE_BYTE3))         ((int)(unsigned char)Name_Buf[2]!=CODE_BYTE3))
491     {     {
492        fo_work<<"Name error : packet number="<<numP[2]<<" : ";
493        fo_work<<hex<<(int)(unsigned char)Name_Buf[0]<<" : "<<(int)(unsigned char)Name_Buf[1]
494               <<" : "<<(int)(unsigned char)Name_Buf[2]<<dec<<"\n";
495      Name_Buf[0]=(char)(CODE_BYTE1);      Name_Buf[0]=(char)(CODE_BYTE1);
496      Name_Buf[1]=(char)(CODE_BYTE2);      Name_Buf[1]=(char)(CODE_BYTE2);
497      Name_Buf[2]=(char)(CODE_BYTE3);      Name_Buf[2]=(char)(CODE_BYTE3);
498      flag_name[2]=1;      flag_name[2]=1;
499      count_name_cor+=1;  
500      buffer[0]=(char)(CODE_BYTE1);      for (i=0; i<8; i++)
501      buffer[1]=(char)(CODE_BYTE2);      {buff[i]=Name_Buf[i];
502      buffer[2]=(char)(CODE_BYTE3);       buff[i+8]=Name_Buf_add[i];}    
503      if (CRC_Header[2]==(int)(CRC_H(Name_Buf, Name_Buf_add)))      if (CRC_Header[2]==(short int)(unsigned char)CM_Compute_CRC16(0, (unsigned char*)&buff, 15))
504      flag_CRC_cor[2]=1;      {
505         count_name_cor+=1;
506         buffer[0]=(char)(CODE_BYTE1);
507         buffer[1]=(char)(CODE_BYTE2);
508         buffer[2]=(char)(CODE_BYTE3);    
509         flag_CRC_cor[2]=1;
510        }
511     }     }
512    
513  /***********************PACKET TYPE ERROR**************************/  /***********************PACKET TYPE ERROR**************************/
514     if ((num_type==0)||(num_type1==0)||(num_type2==0)) flag_type[2]=1;     if ((num_type==0)||(num_type1==0)||(num_type2==0))
515       {
516        flag_type[2]=1;
517        fo_work<<"Packet type error : packet number="<<numP[2]<<" : packet type="<<hex<<packet_type[num_type]<<dec<<
518                 " : "<<num_type<<" : "<<num_type1<<" : "<<num_type2<<"\n";
519       }
520  /******************PAMELA BEGIN PACKET DISPLACEMENT****************/  /******************PAMELA BEGIN PACKET DISPLACEMENT****************/
521     temp[0]=adr_first[2];     temp[0]=adr_first[2];
522     for (i=0;i<4;i++) Byte_adr1[i]=0;     for (i=0;i<4;i++) Byte_adr1[i]=0;
# Line 475  void verify(char fni[], char inf[], char Line 527  void verify(char fni[], char inf[], char
527                             (int)(temp[0]/(long int)(pow(256.,3-i)));}                             (int)(temp[0]/(long int)(pow(256.,3-i)));}
528     }       }  
529    
530  //Write packet type and begin displacement in log and work.dat files  //Write packet type and begin displacement in log file
 //   fprintf(fo_work,"Type %i: num. %i: first=%i:",  
 //           num_type, numP[2], adr_first[2]);  
531     fprintf(fo_log,"%1c",char(num_type));     fprintf(fo_log,"%1c",char(num_type));
532     for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr1[i]));     for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr1[i]));
533    
534  /**************PAMELA PACKET OLD BUFFER***************************/  /**************PAMELA PACKET OLD BUFFER***************************/
535     for (i=0;i<8;i++)     for (i=0;i<8;i++)
536     {Name_Buf_old[i]=Name_Buf[i];Name_Buf_add_old[i]=Name_Buf_add[i];}     {Name_Buf_old[i]=Name_Buf[i]; Name_Buf_add_old[i]=Name_Buf_add[i];}
537    
538  /**********************data reading********************************/  /**********************data reading********************************/
539     fin.seekg(-1,ios::cur); icount-=1; icount_total-=1;     fin.seekg(-1,ios::cur); icount-=1; icount_total-=1;
# Line 499  void verify(char fni[], char inf[], char Line 549  void verify(char fni[], char inf[], char
549    fin.get(ch);    fin.get(ch);
550    if (fin.eof()) {break;}    if (fin.eof()) {break;}
551    icount_total+=1;    icount_total+=1;
552  //  if (fmod( double(icount_total), double(100000000.))==double(0.)) {cout<<"Mbytes="<<icount_total/1000000.<<"\n";}    if ((print_flag>0) && fmod( double(icount_total), double(100000000.))==double(0.)) {cout<<"Mbytes="<<icount_total/1000000.<<"\n";}
553    if ((N1>0)&&(FLAG_BIG==0)) icount+=1;    if ((N1>0)&&(FLAG_BIG==0)) icount+=1;
554    for (i=0;i<7;i++) Name_Buf[i]=Name_Buf[i+1];    for (i=0;i<7;i++) Name_Buf[i]=Name_Buf[i+1];
555    Name_Buf[7]=ch; /*for(i=0;i<8;i++) printf("%x",(int)(unsigned char)Name_Buf[i]); printf("\n");*/    Name_Buf[7]=ch; /*for(i=0;i<8;i++) printf("%x",(int)(unsigned char)Name_Buf[i]); printf("\n");*/
# Line 507  void verify(char fni[], char inf[], char Line 557  void verify(char fni[], char inf[], char
557    {buffer[icount-adr_first[2]]=ch;}    {buffer[icount-adr_first[2]]=ch;}
558    else    else
559    {flag_len[2]=1;    {flag_len[2]=1;
560  //   if (FLAG_BIG==0) {cout<<"too long packet "<<numP[2]<<"\n";}     er_pack_Len+=1;
561       fo_work<<"Length error (too long packet) : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
562                " : length (> Nmax="<<Nmax<<")="<<icount-adr_first[2]<<" : packet type="<<hex<<
563                packet_type[num_type]<<dec<<"\n";
564       if (print_flag>0 && FLAG_BIG==0) {cout<<"too long packet "<<numP[2]<<"\n";}
565     FLAG_BIG=1;     FLAG_BIG=1;
566    }    }
567   }   }
# Line 518  void verify(char fni[], char inf[], char Line 572  void verify(char fni[], char inf[], char
572  /*************PAMELA LAST PACKET END DISPLACEMENT******************/  /*************PAMELA LAST PACKET END DISPLACEMENT******************/
573    if (FLAG_BIG==0) {adr_last[2]=icount;}    if (FLAG_BIG==0) {adr_last[2]=icount;}
574    else {adr_last[2]=adr_first[2]+Limit;}    else {adr_last[2]=adr_first[2]+Limit;}
575    if ((adr_last[2]-adr_first[2]+1-LenP[2]-16>64)||(adr_last[2]-adr_first[2]+1-LenP[2]-16<0)) flag_len[2]=1;    if ((adr_last[2]-adr_first[2]+1-LenP[2]-16>64)||(adr_last[2]-adr_first[2]+1-LenP[2]-16<0))
576      {
577       flag_len[2]=1;
578       er_pack_Len+=1;
579       fo_work<<"Length error : packet number="<<numP[2]<<" : length in header="<<LenP[2]<<
580                " : length till next header="<<adr_last[2]-adr_first[2]-16<<" : packet type="<<hex<<
581                packet_type[num_type]<<dec<<"\n";  
582      }
583    if ( (flag_len[2]!=1)&&(flag_CRC_H[2]!=1) )    if ( (flag_len[2]!=1)&&(flag_CRC_H[2]!=1) )
584    {adr_last[2]=adr_first[2]+LenP[2]+15;}    {adr_last[2]=adr_first[2]+LenP[2]+15;}
585    temp[1]=adr_last[2];    temp[1]=adr_last[2];
# Line 530  void verify(char fni[], char inf[], char Line 591  void verify(char fni[], char inf[], char
591       (int)(temp[1]/(long int)(pow(256.,3-i)));}}       (int)(temp[1]/(long int)(pow(256.,3-i)));}}
592        
593  /*********PAMELA LAST PACKET LENGTH ERROR ANALYSIS*****************/  /*********PAMELA LAST PACKET LENGTH ERROR ANALYSIS*****************/
 // if ((adr_last[2]-adr_first[2]+1)!=(LenP[2]+(64-LenP[2]%64)))  
 // {flag_len[2]=1;}  
594    
595  //Write last packet end displacement in log and work.dat files  //Write last packet end displacement in log file
596   for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr2[i]));   for (i=0;i<4;i++) fprintf(fo_log,"%1c",char(Byte_adr2[i]));
 // fprintf(fo_work," last=%i",adr_last[2]);  
597    
598  //Write error number in log and work.dat files  //Write error number in log and work.dat files
599   flags=(short int)(pow((float)(2*flag_CRC_H[2]),1)+   flags=(short int)(pow((float)(2*flag_CRC_H[2]),1)+
600                         pow((float)(2*flag_len[2]),2)+                     pow((float)(2*flag_len[2]),2)+
601                     pow((float)(2*flag_pack[2]),3)+                     pow((float)(2*flag_pack[2]),3)+
602                     pow((float)(2*flag_name[2]),4)+                     pow((float)(2*flag_name[2]),4)+
603                                     pow((float)(2*flag_type[2]),5)+                     pow((float)(2*flag_type[2]),5)+
604                     pow((float)(2*flag_time[2]),6)+                     pow((float)(2*flag_time[2]),6)+
605                                     pow((float)(2*flag_CRC_cor[2]),7));                                     pow((float)(2*flag_CRC_cor[2]),7));
606   if ((flags!=0)&&(N1>0)) er_pack_count+=1;   if ((flags!=0)&&(N1>0)) er_pack_count+=1;
607   fprintf(fo_log,"%1c",char(flags));   fprintf(fo_log,"%1c",char(flags));
608  // fprintf(fo_work," error num.=%i CRC=%i Calc=%i\n",  //Write error number in work.dat file
609  //           flags,bitset<8>(CRC_Header[2]),   if (flags!=0) fo_work<<"PAMELA packet="<<numP[2]<<" : error flag="<<flags<<"\n";
610  //               (int)(CRC_H(Name_Buf, Name_Buf_add)));  
611    
612  //Write inf file  //Write inf file
613   fprintf(fo_inf,"file name=%s\n",name_in);   fprintf(fo_inf,"%lli bytes in initial file %s\n", icount_total, name_in);
  fprintf(fo_inf,"%lli bytes\n",icount_total);  
614   icount_int = (int)(icount_total/1024);   icount_int = (int)(icount_total/1024);
615   icount_frac= icount_total%1024;   icount_frac= icount_total%1024;
616   fprintf(fo_inf,"file size= %i,%i kByte \n", icount_int,   fprintf(fo_inf,"file size= %i,%i kByte \n", icount_int, icount_frac);
617                                                         icount_frac);   strcpy(ttt,name_in);
618     ttt[17]='2';
619     fprintf(fo_inf,"%lli bytes in cln2 file %s\n", icount, ttt);
620     ratioCln1Cln2=(float)icount/icount_total;
621     fprintf(fo_inf,"ratio of sizes of Cln1 and Cln2 files %f\n", ratioCln1Cln2);
622    
623   fprintf(fo_inf,"number of identified packets= %i\n", N1);   fprintf(fo_inf,"number of identified packets= %i\n", N1);
624   fprintf(fo_inf,"number of PAMELA missed packets= %i\n",   fprintf(fo_inf,"number of PAMELA missed packets= %i\n",count_miss);
625                       count_miss);   fprintf(fo_inf,"number of PAMELA double transmitted packets = %i\n",count_sec_miss);                
626   fprintf(fo_inf,"number of PAMELA packets with error= %i\n",   fprintf(fo_inf,"number of PAMELA packets with CRC error= %i\n",er_pack_CRC);                
627                       er_pack_count);   fprintf(fo_inf,"number of PAMELA packets with length error= %i\n",er_pack_Len);                                    
628   fprintf(fo_inf,"number of PAMELA packets with corrected name= %i\n",   fprintf(fo_inf,"Overall number of PAMELA packets with error= %i\n",er_pack_count);
629                       count_name_cor);   fprintf(fo_inf,"number of PAMELA packets with corrected name= %i\n",count_name_cor);
630   fprintf(fo_inf,"number of PAMELA packets with non identified type");   fprintf(fo_inf,"number of PAMELA packets with non identified type =%i\n",packet_counter[0]);
  fprintf(fo_inf," =%i\n",packet_counter[0]);  
631    
632   for (i=1;i<NumberPack;i++)   for (i=1;i<NumberPack;i++)
633   {   {
634    fprintf(fo_inf,"Type %x  number of PAMELA packets= %i\n",    fprintf(fo_inf,"Type %x  number of PAMELA packets= %i\n",
635                       packet_type[i-1], packet_counter[i]);                       packet_type[i-1], packet_counter[i]);
636   }   }
637  //Write data in file "mmm_counter_nnnnn_cln2.pam"  //Write data in file "nnnnn_mmm_xxx_cln2.pam"
638   for (i=0;i<adr_last[2]-adr_first[2]+1;i++)   for (i=0;i<adr_last[2]-adr_first[2]+1;i++)
639   {fo_pam<<buffer[i];}   {fo_pam<<buffer[i];}
640    
# Line 593  void verify(char fni[], char inf[], char Line 653  void verify(char fni[], char inf[], char
653   for (i=0;i<5;i++)   for (i=0;i<5;i++)
654   {cirquit_no[i]=name_cln2[i];}   {cirquit_no[i]=name_cln2[i];}
655   cirquit_no[5]='\0';   cirquit_no[5]='\0';
656   for (i=10;i<13;i++)   for (i=6;i<9;i++)
657   {route_no[i-10]=name_cln2[i];}   {route_no[i-6]=name_cln2[i];}
658   route_no[3]='\0';   route_no[3]='\0';
659   file_ready=1;   file_ready=1;
660   file_deleted=0;   file_deleted=0;
661   file_archived=0;   file_archived=0;
662   file_proces=0;   file_proces=0;
663   if (IndexQ>process) file_proces=1;   if (IndexQ>YODA_flag) file_proces=1;
   
664    
665   if (IndexQ>transmit) {flag_to_transmit=1;}   if (IndexQ>transmit_flag) {flag_to_transmit=1;}
666   else {flag_to_transmit=0;}   else {flag_to_transmit=0;}
667   oss.str("");   oss.str("");
668   oss << "INSERT INTO FILES (cirquit_n, route_n, counter, qual_index, ready, deleted, date,"   oss << "INSERT INTO FILES (cirquit_n, route_n, counter, qual_index, ready, deleted, date,"
669       << " archived, path, cln2_name, proces_flag, transit_flag)"       << " archived, path, cln2_name, proces_flag, transit_flag)"
670       << " VALUES ('"<< cirquit_no << "','"<< route_no << "','"<<r_counter<<"','"<< IndexQ << "','"       << " VALUES ('"<< cirquit_no << "','"<< route_no << "','"<<r_counter<<"','"<< IndexQ << "','"
671       << file_ready << "','"<< file_deleted << "','"<< data_time << "','"<< file_archived << "','"       << file_ready << "','"<< file_deleted << "','"<< data_time << "','"<< file_archived << "','"
672       << name_path << "', '" << name_cln2 << "', '" << file_proces << "','"       << name_path << "', '" << name_cln2 << "','"<< file_proces << "','"
673       << flag_to_transmit << "')";       << flag_to_transmit << "')";
674  // cout<<oss.str().c_str()<<" table FILES\n";         if (print_flag>0) cout<<oss.str().c_str()<<" table FILES\n";      
675   TSQLResult *res=sqlServer->Query(oss.str().c_str());   TSQLResult *res=sqlServer->Query(oss.str().c_str());
676    
677   flag_sec_trans=0;   flag_sec_trans=0;
678    
679   oss1.str("");   oss1.str("");
680   oss1 <<"INSERT INTO FILES1 (my_route, raw_filename, pam_size, cirquit_n, route_n, route_real,"   oss1 <<"INSERT INTO FILES1 (my_route, raw_filename, pam_size, ratioCln1Cln2, cirquit_n, route_n, route_real,"
681        <<" counter, board_time, Num_all, Num_macro, flag_twice)"        <<" counter, board_time, Num_all, Num_macro, flag_twice, OBT_first, OBT_last)"
682        <<" VALUES ('"<<current_route<<"','"<<name_ini<<"','"<<icount<<"','"<<cirquit_no<<"','"        <<" VALUES ('"<<current_route<<"','"<<name_ini<<"','"<<icount<<"','"<<ratioCln1Cln2<<"','"<<cirquit_no<<"','"
683        <<route_no<<"','"<<real_route[r_counter]<<"','"<<r_counter        <<route_no<<"','"<<real_route[r_counter]<<"','"<<r_counter
684        <<"','"<<time_p[2]<<"','"<<N1<<"','"<<packet_counter[28]<<"','"<<flag_sec_trans<<"')";        <<"','"<<time_p[2]<<"','"<<N1<<"','"<<packet_counter[28]<<"','"<<flag_sec_trans<<"','"<<time_min<<"','"<<time_max<<"')";
685  // cout<<oss1.str().c_str()<<" table FILES1\n";         if (print_flag>0) cout<<oss1.str().c_str()<<" table FILES1\n";      
686   TSQLResult *res3=sqlServer->Query(oss1.str().c_str());   TSQLResult *res3=sqlServer->Query(oss1.str().c_str());
687    
688  // if (conn->Query(oss.str().c_str()) == 0)  // if (conn->Query(oss.str().c_str()) == 0)
# Line 635  void verify(char fni[], char inf[], char Line 694  void verify(char fni[], char inf[], char
694    
695  /***************************************************************/  /***************************************************************/
696    fin.close();    fin.close();
697    fclose(fo_work);    fo_work.close();
698    fclose(fo_log);    fclose(fo_log);
699    fclose(fo_inf);    fclose(fo_inf);
700    fo_pam.close();    fo_pam.close();

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.23