redid the fix for non-executable files in an easier to read way plus

some minor aethetic changes
This commit is contained in:
Todd C. Miller
1993-09-08 15:53:08 +00:00
parent fde49b4c75
commit 2ddeba57ef

View File

@@ -101,20 +101,19 @@ char *find_path(file)
while ((n = index(path, ':'))) { while ((n = index(path, ':'))) {
*n = '\0'; *n = '\0';
strcpy(fn, path); (void)strcpy(fn, path);
strcat(fn, "/"); (void)strcat(fn, "/");
strcat(fn, file); (void)strcat(fn, file);
/* stat the file to make sure it exists and is executable */ /* stat the file to make sure it exists and is executable */
statfailed = stat(fn, &statbuf); statfailed = stat(fn, &statbuf);
if (!statfailed && (statbuf.st_mode & 0000111)) if (!statfailed && (statbuf.st_mode & 0000111))
return(qualify(fn)); return(qualify(fn));
else if (!statfailed || errno == ENOENT || errno == ENOTDIR) else if (statfailed && errno != ENOENT && errno != ENOTDIR) {
path=n+1;
else {
perror("find_path: stat"); perror("find_path: stat");
exit(1); exit(1);
} }
path = n + 1;
} }
return(NULL); return(NULL);
} }