summaryrefslogtreecommitdiffstats
path: root/color.c
diff options
context:
space:
mode:
Diffstat (limited to 'color.c')
-rw-r--r--color.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/color.c b/color.c
index 11684ef..4b70e19 100644
--- a/color.c
+++ b/color.c
@@ -841,11 +841,8 @@ static int print_path(CFILE *cfile, const struct BFTW *ftwbuf) {
static int print_link_target(CFILE *cfile, const struct BFTW *ftwbuf) {
int ret = -1;
- size_t len = 0;
- const struct bfs_stat *statbuf = bftw_stat(ftwbuf, BFS_STAT_NOFOLLOW);
- if (statbuf) {
- len = statbuf->size;
- }
+ const struct bfs_stat *statbuf = bftw_cached_stat(ftwbuf, BFS_STAT_NOFOLLOW);
+ size_t len = statbuf ? statbuf->size : 0;
char *target = xreadlinkat(ftwbuf->at_fd, ftwbuf->at_path, len);
if (!target) {