- ;;
- esac
- local x y perm line binls sizePadding middle tail size \
- max_hl_digits hardlinks initial_space hardlink_spacing
- local max_hl_digits=0
- local -a lines hl
- binls=$(type -P ls)
- local aclchar=false
- # there's no way to tell if ls uses the acl specifier unless we loop over the data twice
- # the 11th char is either
- # . for selinux context
- # + for any other kind of acl
- # or blank for no other kind of acl
- # I don't want to see this generally.
- while read -r line; do
- # if we did want the first line, it would need to be stripped of non-printing chars:
- #line=${line#$'\E[00m'}
- # lines like "total 123M", we don't want
- if [[ ! $line =~ ^total\ [0-9][^\ ]*$ ]]; then
- lines+=("$line")
- if ! [[ $line == [-dscbl][-r][-w][-xsS][-r][-w][-xsS][-r][-w][-xtT]* ]]; then
- hardlinks=
- else
- [[ ! ${line:10:1} == " " ]] && aclchar=true
+ ;;
+ esac
+ local x y perm line binls sizePadding middle tail size \
+ max_hl_digits hardlinks initial_space hardlink_spacing
+ local max_hl_digits=0
+ local -a lines hl
+ binls=$(type -P ls)
+ binlslink=$(readlink -f $binls)
+ if [[ $binlslink == */busybox ]]; then
+ $binls -lA "$@"
+ return
+ fi
+ local aclchar=false
+ # there's no way to tell if ls uses the acl specifier unless we loop over the data twice
+ # the 11th char is either
+ # . for selinux context
+ # + for any other kind of acl
+ # or blank for no other kind of acl
+ # I don't want to see this generally.
+ while read -r line; do
+ # if we did want the first line, it would need to be stripped of non-printing chars:
+ #line=${line#$'\E[00m'}
+ # lines like "total 123M", we don't want
+ if [[ ! $line =~ ^total\ [0-9][^\ ]*$ ]]; then
+ lines+=("$line")
+ if ! [[ $line == [-dscbl][-r][-w][-xsS][-r][-w][-xsS][-r][-w][-xtT]* ]]; then
+ hardlinks=
+ else
+ [[ ! ${line:10:1} == " " ]] && aclchar=true