diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2026-03-15 23:58:18 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2026-03-15 23:58:18 +0800 |
| commit | 7f41df91f18cb32a34d4cff2746e4344d8f7830d (patch) | |
| tree | 846b7a67635f84f4655f9bed150ec44119c12f9a | |
| parent | 8b9e5f19cdc509be44abe39ef0289c28739a2794 (diff) | |
| download | sfm-7f41df91f18cb32a34d4cff2746e4344d8f7830d.tar.gz sfm-7f41df91f18cb32a34d4cff2746e4344d8f7830d.zip | |
fix symlink show twice, one as symlink, one as directory
| -rwxr-xr-x | sfm | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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 |