From e3a55c39b6dd7a866aa1033203a1813e646f8c50 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 17 Jul 2015 14:23:06 +0200 Subject: Fix stat/lstat type/ltype to be consistent, use correct *stat() --- butl/filesystem.ixx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'butl/filesystem.ixx') diff --git a/butl/filesystem.ixx b/butl/filesystem.ixx index 7aa3622..2d2690f 100644 --- a/butl/filesystem.ixx +++ b/butl/filesystem.ixx @@ -9,16 +9,16 @@ namespace butl inline entry_type dir_entry:: type () const { - return t_ != entry_type::unknown ? t_ : (t_ = type (false)); + entry_type t (ltype ()); + return t != entry_type::symlink + ? t + : lt_ != entry_type::unknown ? lt_ : (lt_ = type (true)); } inline entry_type dir_entry:: ltype () const { - entry_type t (type ()); - return t != entry_type::symlink - ? t - : lt_ != entry_type::unknown ? lt_ : (lt_ = type (true)); + return t_ != entry_type::unknown ? t_ : (t_ = type (false)); } // dir_iterator -- cgit v1.1