version 1.7, 2001/05/07 22:57:19 |
version 1.8, 2001/05/14 12:55:48 |
|
|
|
|
ifile = emalloc(sizeof(*ifile)); |
ifile = emalloc(sizeof(*ifile)); |
ifile->fname = name; |
ifile->fname = name; |
|
ifile->str = NULL; |
/* Naturally enough, we start reading at line 0 */ |
/* Naturally enough, we start reading at line 0 */ |
ifile->lineno = 0; |
ifile->lineno = 0; |
ifile->F = stream; |
ifile->F = stream; |
|
|
{ |
{ |
if (ifile->F && fileno(ifile->F) != STDIN_FILENO) |
if (ifile->F && fileno(ifile->F) != STDIN_FILENO) |
(void)fclose(ifile->F); |
(void)fclose(ifile->F); |
else |
free(ifile->str); |
free(ifile->str); |
|
/* Note we can't free the file names yet, as they are embedded in GN for |
/* Note we can't free the file names yet, as they are embedded in GN for |
* error reports. */ |
* error reports. */ |
free(ifile); |
free(ifile); |