multiple input files feature now works again
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40412
This commit is contained in:
parent
af651e15f3
commit
52b45354e8
@ -170,6 +170,8 @@ static int *wqptr; /* pointer to next entry */
|
||||
static HWND hwndFinish = 0;
|
||||
#endif
|
||||
|
||||
char g_tmpfile[_MAX_PATH] = {0};
|
||||
|
||||
/* "main" of the compiler
|
||||
*/
|
||||
#if defined __cplusplus
|
||||
@ -263,20 +265,22 @@ int pc_compile(int argc, char *argv[])
|
||||
unsigned char tstring[128];
|
||||
fsrc=(FILE*)pc_opensrc(sname);
|
||||
if (fsrc==NULL) {
|
||||
pc_closesrc(ftmp);
|
||||
remove(tname);
|
||||
strcpy(inpfname,sname); /* avoid invalid filename */
|
||||
error(100,sname);
|
||||
} /* if */
|
||||
pc_writesrc(ftmp,(unsigned char*)"#file ");
|
||||
pc_writesrc(ftmp,(unsigned char*)"#file \"");
|
||||
pc_writesrc(ftmp,(unsigned char*)sname);
|
||||
pc_writesrc(ftmp,(unsigned char*)"\n");
|
||||
while (!pc_eofsrc(fsrc)) {
|
||||
pc_readsrc(fsrc,tstring,sizeof tstring);
|
||||
pc_writesrc(ftmp,(unsigned char*)"\"\n");
|
||||
while (!pc_eofsrc(fsrc) && pc_readsrc(fsrc,tstring,sizeof tstring)) {
|
||||
pc_writesrc(ftmp,tstring);
|
||||
} /* while */
|
||||
pc_closesrc(fsrc);
|
||||
} /* for */
|
||||
pc_closesrc(ftmp);
|
||||
strcpy(inpfname,tname);
|
||||
strcpy(g_tmpfile,tname);
|
||||
free(tname);
|
||||
} else {
|
||||
strcpy(inpfname,get_sourcefile(0));
|
||||
@ -481,9 +485,10 @@ cleanup:
|
||||
} /* if */
|
||||
#endif
|
||||
|
||||
if (g_tmpfile[0] != '\0') {
|
||||
remove(g_tmpfile);
|
||||
}
|
||||
if (inpfname!=NULL) {
|
||||
if (get_sourcefile(1)!=NULL)
|
||||
remove(inpfname); /* the "input file" was in fact a temporary file */
|
||||
free(inpfname);
|
||||
} /* if */
|
||||
if (litq!=NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user