sfm

Simple File Manager
git clone git://git.emmett1.my/sfm.git
Log | Files | Refs | LICENSE

commit 7f41df91f18cb32a34d4cff2746e4344d8f7830d
parent 8b9e5f19cdc509be44abe39ef0289c28739a2794
Author: emmett1 <emmett1.2miligrams@protonmail.com>
Date:   Sun, 15 Mar 2026 23:58:18 +0800

fix symlink show twice, one as symlink, one as directory

Diffstat:
Msfm | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sfm b/sfm @@ -94,17 +94,19 @@ load_entries() { # build list of dir names then file names, including dotfiles if enabled for d in "$CWD"/*/; do [ -d "$d" ] || continue + [ -L "${d%/}" ] && continue # symlinks handled separately name="${d%/}"; name="${name##*/}" [ "$name" = "*" ] && continue - case "$name" in .*) continue ;; esac # skip dotdirs here, handle below + case "$name" in .*) continue ;; esac ENTRIES="$ENTRIES ${name}/" COUNT=$((COUNT + 1)) done if [ "$SHOW_HIDDEN" = "1" ]; then - for d in "$CWD"/./; do : ; done # no-op, just to avoid error + for d in "$CWD"/./; do : ; done for d in "$CWD"/.*/; do [ -d "$d" ] || continue + [ -L "${d%/}" ] && continue # symlinks handled separately name="${d%/}"; name="${name##*/}" [ "$name" = "." ] || [ "$name" = ".." ] && continue [ "$name" = ".*" ] && continue