--- rawreader/src/Verify.cpp 2006/12/10 13:06:00 1.4 +++ rawreader/src/Verify.cpp 2007/01/28 10:55:50 1.5 @@ -81,6 +81,7 @@ unsigned long int time_p[3]; /*Packet time*/ unsigned long int time_max=0; unsigned long int time_min=0; + int CLN2_END=0; long int pack_length=0; /*PAMELA packet length*/ long long int adr_first[3]; /*Start displacement from file begin*/ long long int adr_last[3]; /*Finish displacement from file begin*/ @@ -387,7 +388,11 @@ fo_work<<"CRC error : PAMELA packet="<time_p[2])&&(flag_CRC_H[2]!=1)&&(CLN2_FLAG==2)) + {fin.seekg(0,ios::end); CLN2_END=1; goto END;} /*********packet counter error analysis****************************/ if ((numP[2]!=(numP[1]+1))&&(N1!=1)&&(flag_len[1]==0)&&(CRC_bad_pack[2]==numP[2])) { @@ -570,7 +575,9 @@ /******************************************************************/ /********************MAIN READING CYCLE END************************/ /******************************************************************/ - +END: + if (CLN2_END==0) + { /*************PAMELA LAST PACKET END DISPLACEMENT******************/ if ((icount-adr_first[2]+1-LenP[2]-16)<=Limit) {adr_last[2]=icount;} //end byte for previous packet else if ((icount-adr_first[2]+1-LenP[2]-16)>Limit) {adr_last[2]=adr_first[2]+Limit;} //end byte for previous packet @@ -594,21 +601,22 @@ (int)(temp[1]/(long int)(pow(256.,3-i)));}} //Write last packet end displacement in log file - 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])); //Write error number in log and work.dat files - flags=(short int)(pow((float)(2*flag_CRC_H[2]),1)+ + flags=(short int)(pow((float)(2*flag_CRC_H[2]),1)+ pow((float)(2*flag_len[2]),2)+ pow((float)(2*flag_pack[2]),3)+ pow((float)(2*flag_name[2]),4)+ pow((float)(2*flag_type[2]),5)+ pow((float)(2*flag_time[2]),6)+ pow((float)(2*flag_CRC_cor[2]),7)); - if ((flags!=0)&&(N1>0)) er_pack_count+=1; - fprintf(fo_log,"%1c",char(flags)); + if ((flags!=0)&&(N1>0)) er_pack_count+=1; + fprintf(fo_log,"%1c",char(flags)); //Write error number in work.dat file - if (flags!=0) fo_work<<"PAMELA packet="<