/*
* This file is part of DisOrder.
- * Copyright (C) 2004 Richard Kettlewell
+ * Copyright (C) 2004, 2007, 2008 Richard Kettlewell
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
char *np;
if(stat(path, &sb) < 0) {
- disorder_error(errno, "cannot lstat %s", path);
+ disorder_error(errno, "cannot stat %s", path);
return;
}
- /* skip files that aren't world-readable */
- if(!(sb.st_mode & 0004))
- return;
if(S_ISDIR(sb.st_mode)) {
if(!(dp = opendir(path))) {
disorder_error(errno, "cannot open directory %s", path);
if(errno)
disorder_error(errno, "error reading directory %s", path);
closedir(dp);
- } else if(S_ISREG(sb.st_mode))
+ } else if(S_ISREG(sb.st_mode)) {
+ if(access(path, R_OK) < 0) {
+ disorder_error(errno, "cannot access file %s", path);
+ return;
+ }
if(printf("%s%c", path, 0) < 0)
disorder_fatal(errno, "error writing to scanner output pipe");
+ }
}
int disorder_check(const char attribute((unused)) *root, const char *path) {
comment-column:40
End:
*/
-/* arch-tag:070e62d92ebc26329f0a3961d615476f */