mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 11:51:27 +00:00
Show symlink even if target cannot be stat-ed
This commit is contained in:
parent
21f9a713dc
commit
6fcc6834ff
|
@ -76,10 +76,10 @@ static void disabledbg(void)
|
||||||
close(DEBUG_FD);
|
close(DEBUG_FD);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DPRINTF_D(x) xprintf(DEBUG_FD, #x "=%d\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\n", x)
|
#define DPRINTF_U(x) xprintf(DEBUG_FD, #x "=%u [ln %d]\n", x, __LINE__)
|
||||||
#define DPRINTF_S(x) xprintf(DEBUG_FD, #x "=%s\n", x)
|
#define DPRINTF_S(x) xprintf(DEBUG_FD, #x "=%s [ln %d]\n", x, __LINE__)
|
||||||
#define DPRINTF_P(x) xprintf(DEBUG_FD, #x "=%p\n", x)
|
#define DPRINTF_P(x) xprintf(DEBUG_FD, #x "=%p [ln %d]\n", x, __LINE__)
|
||||||
#else
|
#else
|
||||||
#define DPRINTF_D(x)
|
#define DPRINTF_D(x)
|
||||||
#define DPRINTF_U(x)
|
#define DPRINTF_U(x)
|
||||||
|
|
|
@ -3756,15 +3756,12 @@ static int dentfill(char *path, struct entry **dents)
|
||||||
|
|
||||||
if (fstatat(fd, namep, &sb, flags) == -1) {
|
if (fstatat(fd, namep, &sb, flags) == -1) {
|
||||||
/* List a symlink with target missing */
|
/* List a symlink with target missing */
|
||||||
if (!flags && errno == ENOENT) {
|
if (flags || (!flags && fstatat(fd, namep, &sb, AT_SYMLINK_NOFOLLOW) == -1)) {
|
||||||
if (fstatat(fd, namep, &sb, AT_SYMLINK_NOFOLLOW) == -1) {
|
DPRINTF_U(flags);
|
||||||
|
if (!flags) {
|
||||||
DPRINTF_S(namep);
|
DPRINTF_S(namep);
|
||||||
DPRINTF_S(strerror(errno));
|
DPRINTF_S(strerror(errno));
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
DPRINTF_S(namep);
|
|
||||||
DPRINTF_S(strerror(errno));
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue