close(DEBUG_FD);
}
-#define DPRINTF_D(x) xprintf(DEBUG_FD, #x "=%d\n", x)
-#define DPRINTF_U(x) xprintf(DEBUG_FD, #x "=%u\n", x)
-#define DPRINTF_S(x) xprintf(DEBUG_FD, #x "=%s\n", x)
-#define DPRINTF_P(x) xprintf(DEBUG_FD, #x "=%p\n", x)
+#define DPRINTF_D(x) xprintf(DEBUG_FD, #x "=%d [ln %d]\n", x, __LINE__)
+#define DPRINTF_U(x) xprintf(DEBUG_FD, #x "=%u [ln %d]\n", x, __LINE__)
+#define DPRINTF_S(x) xprintf(DEBUG_FD, #x "=%s [ln %d]\n", x, __LINE__)
+#define DPRINTF_P(x) xprintf(DEBUG_FD, #x "=%p [ln %d]\n", x, __LINE__)
#else
#define DPRINTF_D(x)
#define DPRINTF_U(x)
if (fstatat(fd, namep, &sb, flags) == -1) {
/* List a symlink with target missing */
- if (!flags && errno == ENOENT) {
- if (fstatat(fd, namep, &sb, AT_SYMLINK_NOFOLLOW) == -1) {
+ if (flags || (!flags && fstatat(fd, namep, &sb, AT_SYMLINK_NOFOLLOW) == -1)) {
+ DPRINTF_U(flags);
+ if (!flags) {
DPRINTF_S(namep);
DPRINTF_S(strerror(errno));
- continue;
}
- } else {
- DPRINTF_S(namep);
- DPRINTF_S(strerror(errno));
continue;
}
}