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:
parent
f5f6a944dc
commit
0f2cd61fa5
25
src/xrdb.c
25
src/xrdb.c
@ -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 == ':')
|
||||
|
Loading…
Reference in New Issue
Block a user