чување c7b55f201d1d2952e865a904ae388250a6307423
родитељ baf3c21db03eb16cc5fd0691421ae56c9e58201e
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Thu, 17 Aug 2023 11:39:42 +0200
Avoid stat
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 4, додавања: 15(+), брисања: 9(-)
diff --git a/INSTALL b/INSTALL
@@ -3,7 +3,7 @@ Prerequisites
* gzip
* Standard utilities: awk, cat, cp, cut, diff, getopts, grep, head, mv, printf,
- rm, sed, stat, tail, touch, trap, wc
+ rm, sed, tail, touch, trap, wc
* table[1]
* vipe from moreutils[2]
* Any text editor set via EDITOR environment variable
diff --git a/date.do b/date.do
@@ -1,12 +1,15 @@
FALLBACKDATE=${FALLBACKDATE:-unknown}
-user=$(stat -c %U .)
-e_user=$(id -un)
+user=$(unalias ls >/dev/null 2>&1 || true; \
+ LC_ALL=C command ls -nd . | LC_ALL=C awk '{print $3}')
+e_user=$(id -u)
+user_s=$(LC_ALL=C awk 'BEGIN{FS=":"}{if ($3=="'$user'") { print $1}}' \
+ </etc/passwd)
if [ -d .git ] && command -v git >/dev/null 2>&1; then
if [ "$e_user" = "$user" ]; then
env LC_ALL=C git log --format=format:%cd \
--date=format:"%B %d, %Y" -1 @ >$3
else
- su "${user}" -c 'env LC_ALL=C git log --format=format:%cd '\
+ su "${user_s}" -c 'env LC_ALL=C git log --format=format:%cd '\
'--date=format:"%B %d, %Y" -1 @' >$3
fi
echo >>$3
diff --git a/ste.in b/ste.in
@@ -121,10 +121,10 @@ if [ $# -lt 1 ]; then
exit 1
fi
-if ! stat "$file" >/dev/null 2>&1; then
+if [ ! -r "$file" >/dev/null 2>&1 ]; then
${insprog} "$file"
fi
-if ! stat "$file" >/dev/null 2>&1; then
+if [ ! -r "$file" >/dev/null 2>&1 ]; then
error "File does not exist: '%s'" "$file"
exit 1
fi
diff --git a/version.do b/version.do
@@ -1,11 +1,14 @@
FALLBACKVER=${FALLBACKVER:-unknown}
-user=$(stat -c %U .)
-e_user=$(id -un)
+user=$(unalias ls >/dev/null 2>&1 || true; \
+ LC_ALL=C command ls -nd . | LC_ALL=C awk '{print $3}')
+e_user=$(id -u)
+user_s=$(LC_ALL=C awk 'BEGIN{FS=":"}{if ($3=="'$user'") { print $1}}' \
+ </etc/passwd)
if [ -d .git ] && command -v git >/dev/null 2>&1; then
if [ "$e_user" = "$user" ]; then
git describe 2>/dev/null | sed 's/^v//' >$3
else
- su "${user}" -c 'git describe' 2>/dev/null | sed 's/^v//' >$3
+ su "${user_s}" -c 'git describe' 2>/dev/null | sed 's/^v//' >$3
fi
else
echo $FALLBACKVER >$3