/* Check if suivi is OK > chkfsv -e 1,99999,10 -m 1,99999,10 -p 2 -d 1001,11 s4l074l15R.suivi01 > echo $status */ #include "sopnamsp.h" #include "machdefs.h" #include #include #include #include #include #include #include #include #include "fsvcache.h" #include "fsvst.h" void usage(void) { printf("Usage: chkfsv NomSuivi\n"); printf(" -e n1,n2,inc : Traitement des etoiles n1 a n2 avec increment inc\n"); printf(" -m m1,m2,inc : Traitement des mesures m1 a m2 avec increment inc\n"); printf(" -p lp : print level\n"); printf(" -d et,mes : debug by full printing for star et and mesure mes\n"); printf("Warning: number go [1,n]\n"); } int main(int narg, char *arg[] ) { //---- Decodage des arguments int lp=1, etdbg=-1, mesdbg=-1; int numes1=1, numes2=9999999, incmes=1; int numet1=1, numet2=9999999, incet=1; if(narg<2) {usage(); return 1;} char c; while((c = getopt(narg, arg, "he:m:p:d:")) != -1) { switch (c) { case 'e' : sscanf(optarg,"%d,%d,%d",&numet1,&numet2,&incet); case 'm' : sscanf(optarg,"%d,%d,%d",&numes1,&numes2,&incmes); case 'p' : sscanf(optarg,"%d",&lp); if(lp<0) lp=0; case 'd' : sscanf(optarg,"%d,%d",&etdbg,&mesdbg); break; case 'h' : default: usage(); return 1; } } if(optind>=narg) {usage(); return 2;} char svf[2048]; strcpy(svf,arg[optind]); int rc = 0; //---- Ouverture du fichier de suivi SUIVIFIP *sfip = NULL; if( (sfip=SuiviOpen(svf,SUOF_RO_MEM2)) == NULL ) { cout<<"Error opening: "<0) cout<0) cout<<"nbstar = "<>> GLOBINFO"<0) cout<<"Reading TimeInfo from "<0) for(int i=numes1;i<=numes2;i++) { rc = SuiviReadTimeInfo(sfip,i,i,(char *)(&tminf)); if(rc!=0) { cout<<"Error reading TimeInfo mes="<>> TIMEINFO"<>> TIMEINFOU"<0) cout<<"Reading StarInfo from "<0) for(int i=numet1;i<=numet2;i+=incet) { rc = SuiviReadStarInfo(sfip,i,(char *)(&star)); if(rc!=0) { cout<<"Error reading StarInfo star="<>> STARINFO"<0) cout<<"Reading Mesures"<0) for(int i=numet1;i<=numet2;i+=incet) { if(nbmes>0) for(int j=numes1;j<=numes2;j+=incmes) { rc = SuiviReadMesures(sfip,i,j,j,(char *)(&mes)); if(rc!=0) { cout<<"Error reading Mesures star="<>> MESURE"<>> MESUREU"<>> MESUREU apres Calib"<