1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-26 07:33:47 +00:00

(S_ISDIR): Define if not defined.

(file_p): Use S_ISDIR.

(search_magic_path): Fix logic testing for empty path element.
This commit is contained in:
Richard M. Stallman 1994-01-21 06:34:16 +00:00
parent f5f6a944dc
commit 0f2cd61fa5

View File

@ -55,6 +55,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define MAXPATHLEN 256
#endif
#if !defined(S_ISDIR) && defined(S_IFDIR)
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
extern char *getenv ();
/* This does cause trouble on AIX. I'm going to take the comment at
@ -320,7 +324,7 @@ file_p (path)
return (access (path, 4) == 0 /* exists and is readable */
&& stat (path, &status) == 0 /* get the status */
&& (status.st_mode & S_IFDIR) == 0); /* not a directory */
&& (S_ISDIR (status.st_mode)) == 0); /* not a directory */
}
@ -339,7 +343,13 @@ search_magic_path (search_path, class, escaped_suffix, suffix)
for (p = s; *p && *p != ':'; p++)
;
if (*p == ':' && *(p + 1) == ':')
if (p > s)
{
char *path = magic_file_p (s, p - s, class, escaped_suffix, suffix);
if (path)
return path;
}
else if (*p == ':')
{
char *path;
@ -347,17 +357,6 @@ search_magic_path (search_path, class, escaped_suffix, suffix)
path = magic_file_p (s, strlen (s), class, escaped_suffix, suffix);
if (path)
return path;
/* Skip the first colon. */
p++;
continue;
}
if (p > s)
{
char *path = magic_file_p (s, p - s, class, escaped_suffix, suffix);
if (path)
return path;
}
if (*p == ':')