Commit 40ddf499 by Richard Kenner

(do_include, is_system_include, open_include_file): Handle

DIR_SEPARATOR.

From-SVN: r8917
parent 128373ac
...@@ -4140,6 +4140,13 @@ get_filename: ...@@ -4140,6 +4140,13 @@ get_filename:
search_start = dsp; search_start = dsp;
#ifndef VMS #ifndef VMS
ep = rindex (nam, '/'); ep = rindex (nam, '/');
#ifdef DIR_SEPARATOR
if (ep == NULL) ep = rindex (nam, DIR_SEPARATOR);
else {
char *tmp = rindex (nam, DIR_SEPARATOR);
if (tmp != NULL && tmp > ep) ep = tmp;
}
#endif
#else /* VMS */ #else /* VMS */
ep = rindex (nam, ']'); ep = rindex (nam, ']');
if (ep == NULL) ep = rindex (nam, '>'); if (ep == NULL) ep = rindex (nam, '>');
...@@ -4266,7 +4273,11 @@ get_filename: ...@@ -4266,7 +4273,11 @@ get_filename:
/* If specified file name is absolute, just open it. */ /* If specified file name is absolute, just open it. */
if (*fbeg == '/') { if (*fbeg == '/'
#ifdef DIR_SEPARATOR
|| *fbeg == DIR_SEPARATOR
#endif
) {
strncpy (fname, fbeg, flen); strncpy (fname, fbeg, flen);
fname[flen] = 0; fname[flen] = 0;
if (redundant_include_p (fname)) if (redundant_include_p (fname))
...@@ -4520,8 +4531,12 @@ is_system_include (filename) ...@@ -4520,8 +4531,12 @@ is_system_include (filename)
register char *sys_dir = searchptr->fname; register char *sys_dir = searchptr->fname;
register unsigned length = strlen (sys_dir); register unsigned length = strlen (sys_dir);
if (! strncmp (sys_dir, filename, length) && filename[length] == '/') if (! strncmp (sys_dir, filename, length)
{ && (filename[length] == '/'
#ifdef DIR_SEPARATOR
|| filename[length] == DIR_SEPARATOR
#endif
)) {
if (searchptr->c_system_include_path) if (searchptr->c_system_include_path)
return 2; return 2;
else else
...@@ -4708,6 +4723,13 @@ open_include_file (filename, searchptr) ...@@ -4708,6 +4723,13 @@ open_include_file (filename, searchptr)
in /usr/include/header.gcc and look up types.h in in /usr/include/header.gcc and look up types.h in
/usr/include/sys/header.gcc. */ /usr/include/sys/header.gcc. */
p = rindex (filename, '/'); p = rindex (filename, '/');
#ifdef DIR_SEPARATOR
if (! p) p = rindex (filename, DIR_SEPARATOR);
else {
char *tmp = rindex (filename, DIR_SEPARATOR);
if (tmp != NULL && tmp > p) p = tmp;
}
#endif
if (! p) if (! p)
p = filename; p = filename;
if (searchptr if (searchptr
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment