/* $Id$
$State$
$Log$
+ Revision 1.306 2021/02/20 15:44:02 brouard
+ Summary: Version 0.99r21
+
+ * imach.c (Module): Fix bug on quitting after result lines!
+ (Module): Version 0.99r21
+
Revision 1.305 2021/02/20 15:28:30 brouard
* imach.c (Module): Fix bug on quitting after result lines!
char stra[80], strb[80], strc[80], strd[80],stre[80];
removefirstspace(&resultline);
- printf("decoderesult:%s\n",resultline);
if (strstr(resultline,"v") !=0){
printf("Error. 'v' must be in upper case 'V' result: %s ",resultline);
TKresult[nres]=0; /* Combination for the nresult and the model */
return (0);
}
-
if( j != cptcovs ){ /* Be careful if a variable is in a product but not single */
printf("ERROR: the number of variable in the resultline, %d, differs from the number of variable used in the model line, %d.\n",j, cptcovs);
fprintf(ficlog,"ERROR: the number of variable in the resultline, %d, differs from the number of variable used in the model line, %d.\n",j, cptcovs);
}
/* Results */
+ endishere=0;
nresult=0;
do{
if(!fgets(line, MAXLINE, ficpar)){
endishere=1;
- parameterline=14;
}else if (line[0] == '#') {
/* If line starts with a # it is a comment */
numlinepar++;
parameterline=11;
else if(sscanf(line,"prevbackcast=%[^\n]\n",modeltemp))
parameterline=12;
- else if(sscanf(line,"result:%[^\n]\n",modeltemp))
+ else if(sscanf(line,"result:%[^\n]\n",modeltemp)){
parameterline=13;
+ }
else{
parameterline=14;
}
}
break;
case 13:
- if((num_filled=sscanf(line,"result:%[^\n]\n",resultline)) !=EOF){
- if (num_filled == 0){
- resultline[0]='\0';
- printf("Warning %d: no result line! It should be at minimum 'result: V2=0 V1=1 or result:.\n%s\n", num_filled, line);
- fprintf(ficlog,"Warning %d: no result line! It should be at minimum 'result: V2=0 V1=1 or result:.\n%s\n", num_filled, line);
- break;
- } else if (num_filled != 1){
- printf("ERROR %d: result line! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",num_filled, line);
- fprintf(ficlog,"ERROR %d: result line! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",num_filled, line);
- }
- nresult++; /* Sum of resultlines */
- printf("Result %d: result=%s\n",nresult, resultline);
- if(nresult > MAXRESULTLINES){
- printf("ERROR: Current version of IMaCh limits the number of resultlines to %d, you used %d\n",MAXRESULTLINES,nresult);
- fprintf(ficlog,"ERROR: Current version of IMaCh limits the number of resultlines to %d, you used %d\n",MAXRESULTLINES,nresult);
- goto end;
- }
- decoderesult(resultline, nresult); /* Fills TKresult[nresult] combination and Tresult[nresult][k4+1] combination values */
- fprintf(ficparo,"result: %s\n",resultline);
- fprintf(ficres,"result: %s\n",resultline);
- fprintf(ficlog,"result: %s\n",resultline);
- break;
- case 14:
- printf("Error: Unknown command '%s'\n",line);
- fprintf(ficlog,"Error: Unknown command '%s'\n",line);
- if(ncovmodel >=2 && nresult==0 ){
- printf("ERROR: no result lines! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",line);
- fprintf(ficlog,"ERROR: no result lines! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",line);
- }
- /* goto end; */
- break;
- default:
- nresult=1;
- decoderesult(".",nresult ); /* No covariate */
+ num_filled=sscanf(line,"result:%[^\n]\n",resultline);
+ nresult++; /* Sum of resultlines */
+ printf("Result %d: result:%s\n",nresult, resultline);
+ if(nresult > MAXRESULTLINES){
+ printf("ERROR: Current version of IMaCh limits the number of resultlines to %d, you used %d\nYou can use the 'r' parameter file '%s' which uses option mle=0 to get other results. ",MAXRESULTLINES,nresult,rfileres);
+ fprintf(ficlog,"ERROR: Current version of IMaCh limits the number of resultlines to %d, you used %d\nYou can use the 'r' parameter file '%s' which uses option mle=0 to get other results. ",MAXRESULTLINES,nresult,rfileres);
+ goto end;
+ }
+ decoderesult(resultline, nresult); /* Fills TKresult[nresult] combination and Tresult[nresult][k4+1] combination values */
+ fprintf(ficparo,"result: %s\n",resultline);
+ fprintf(ficres,"result: %s\n",resultline);
+ fprintf(ficlog,"result: %s\n",resultline);
+ break;
+ case 14:
+ printf("Error: Unknown command '%s'\n",line);
+ fprintf(ficlog,"Error: Unknown command '%s'\n",line);
+ if(ncovmodel >=2 && nresult==0 ){
+ printf("ERROR: no result lines! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",line);
+ fprintf(ficlog,"ERROR: no result lines! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",line);
}
+ /* goto end; */
+ break;
+ default:
+ nresult=1;
+ decoderesult(".",nresult ); /* No covariate */
} /* End switch parameterline */
+ parameterline=0;
}while(endishere==0); /* End do */
/* freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint); */