From 0f2cd61fa58db97ef2f75156722466508b3cc983 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 21 Jan 1994 06:34:16 +0000 Subject: [PATCH] (S_ISDIR): Define if not defined. (file_p): Use S_ISDIR. (search_magic_path): Fix logic testing for empty path element. --- src/xrdb.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/xrdb.c b/src/xrdb.c index 4c80d055536..d3f22c91610 100644 --- a/src/xrdb.c +++ b/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,23 +343,18 @@ search_magic_path (search_path, class, escaped_suffix, suffix) for (p = s; *p && *p != ':'; p++) ; - if (*p == ':' && *(p + 1) == ':') + if (p > s) { - char *path; - - s = "%N%S"; - path = magic_file_p (s, strlen (s), class, escaped_suffix, suffix); + char *path = magic_file_p (s, p - s, class, escaped_suffix, suffix); if (path) return path; - - /* Skip the first colon. */ - p++; - continue; } - - if (p > s) + else if (*p == ':') { - char *path = magic_file_p (s, p - s, class, escaped_suffix, suffix); + char *path; + + s = "%N%S"; + path = magic_file_p (s, strlen (s), class, escaped_suffix, suffix); if (path) return path; } -- 2.39.5