summaryrefslogtreecommitdiff
path: root/src/pacman
diff options
context:
space:
mode:
Diffstat (limited to 'src/pacman')
-rw-r--r--src/pacman/query.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/pacman/query.c b/src/pacman/query.c
index 76cbc7fc..e7e9cf92 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -27,6 +27,7 @@
#include <string.h>
#include <sys/stat.h>
#include <libintl.h>
+#include <errno.h>
#include <alpm.h>
#include <alpm_list.h>
@@ -57,8 +58,18 @@ static void query_fileowner(pmdb_t *db, char *filename)
return;
}
- if(stat(filename, &buf) == -1 || S_ISDIR(buf.st_mode) || realpath(filename, rpath) == NULL) {
- /* fail silently if we're a directory */
+ if(stat(filename, &buf) == -1) {
+ ERR(NL, _("failed to read file '%s': %s"), filename, strerror(errno));
+ return;
+ }
+
+ if(S_ISDIR(buf.st_mode)) {
+ ERR(NL, _("can not determine ownership of a directory"));
+ return;
+ }
+
+ if(realpath(filename, rpath) == NULL) {
+ ERR(NL, _("cannot determine real path for '%s': %s"), filename, strerror(errno));
return;
}