The program name is used to set the name
of the file were the contents of data statements are written. The filename is extracted from the path and the suffix (if present) is replaced by .d.
This commit is contained in:
parent
8fa5a7b668
commit
6d344b6702
|
@ -13,8 +13,25 @@ FILE *datfile;
|
|||
|
||||
initialize()
|
||||
{
|
||||
register char *cindex, *cptr ;
|
||||
|
||||
sprintf(tmpfname,"%s/abc%d",TMP_DIR,getpid());
|
||||
strcpy(datfname,program);
|
||||
/* Find the basename */
|
||||
/* Strip leading directories */
|
||||
cindex= (char *)0 ;
|
||||
for ( cptr=program ; *cptr ; cptr++ ) if ( *cptr=='/' ) cindex=cptr ;
|
||||
if ( !cindex ) cindex= program ;
|
||||
else {
|
||||
cindex++ ;
|
||||
if ( !*cindex ) {
|
||||
warning("Null program name, assuming \"basic\"") ;
|
||||
cindex= "basic" ;
|
||||
}
|
||||
}
|
||||
cptr=datfname ;
|
||||
while ( *cptr++ = *cindex++ ) ;
|
||||
/* Strip trailing suffix */
|
||||
if ( cptr>datfname+3 && cptr[-3]=='.' ) cptr[-3]=0 ;
|
||||
strcat(datfname,".d");
|
||||
yyin= fopen(inpfile,"r");
|
||||
emfile= fopen(outfile,"w");
|
||||
|
|
Loading…
Reference in a new issue