Don't generate automatic include guards
They are useful most of the time but also a pain in the ass if you have multiple files with the same name but in different directories (e.g. YSI). Even worse, they didn't work with non-native directory separators in #include directives, but that actually turned out to be useful and helped defeat the first bug! See issue #6.
This commit is contained in:
parent
8324d8aba6
commit
05e34102d4
@ -231,7 +231,6 @@ 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 *ptr;
|
||||||
char c;
|
char c;
|
||||||
int i, result;
|
int i, result;
|
||||||
@ -262,27 +261,9 @@ 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 */
|
||||||
|
|
||||||
/* create a symbol from the name of the include file; this allows the system
|
result=plungefile(name,(c!='>'),TRUE);
|
||||||
* to test for multiple inclusions
|
if (!result && !silent)
|
||||||
*/
|
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