Revert "Don't generate automatic include guards"
This reverts commit 05e34102d4949a7992f836db13085a85dea7c82c. Conflicts: source/compiler/sc2.c
This commit is contained in:
parent
a272a7e43e
commit
ed8175dab5
@ -231,6 +231,8 @@ static void check_empty(const unsigned char *lptr)
|
|||||||
static void doinclude(int silent)
|
static void doinclude(int silent)
|
||||||
{
|
{
|
||||||
char name[_MAX_PATH];
|
char name[_MAX_PATH];
|
||||||
|
char symname[sNAMEMAX];
|
||||||
|
char *ptr;
|
||||||
char c;
|
char c;
|
||||||
int i, result;
|
int i, result;
|
||||||
|
|
||||||
@ -260,9 +262,27 @@ static void doinclude(int silent)
|
|||||||
if (c!='\0')
|
if (c!='\0')
|
||||||
check_empty(lptr+1); /* verify that the rest of the line is whitespace */
|
check_empty(lptr+1); /* verify that the rest of the line is whitespace */
|
||||||
|
|
||||||
result=plungefile(name,(c!='>'),TRUE);
|
/* create a symbol from the name of the include file; this allows the system
|
||||||
if (!result && !silent)
|
* to test for multiple inclusions
|
||||||
error(100,name); /* cannot read from ... (fatal error) */
|
*/
|
||||||
|
strcpy(symname,"_inc_");
|
||||||
|
if ((ptr=strrchr(name,DIRSEP_CHAR))!=NULL)
|
||||||
|
strlcat(symname,ptr+1,sizeof symname);
|
||||||
|
else
|
||||||
|
strlcat(symname,name,sizeof symname);
|
||||||
|
if (find_symbol(&glbtab,symname,fcurrent,-1,NULL)==NULL) {
|
||||||
|
/* constant is not present, so this file has not been included yet */
|
||||||
|
|
||||||
|
/* Include files between "..." or without quotes are read from the current
|
||||||
|
* directory, or from a list of "include directories". Include files
|
||||||
|
* between <...> are only read from the list of include directories.
|
||||||
|
*/
|
||||||
|
result=plungefile(name,(c!='>'),TRUE);
|
||||||
|
if (result)
|
||||||
|
add_constant(symname,1,sGLOBAL,0);
|
||||||
|
else if (!silent)
|
||||||
|
error(100,name); /* cannot read from ... (fatal error) */
|
||||||
|
} /* if */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* readline
|
/* readline
|
||||||
|
Loading…
x
Reference in New Issue
Block a user