From a3dcaf6a8316c68b77cd09d7b813eba2e3db2cae Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 6 Nov 2000 09:02:21 +0000 Subject: [PATCH] *** empty log message *** --- tests/rwx-to-mode | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/rwx-to-mode b/tests/rwx-to-mode index 39e1500b9..95a512167 100755 --- a/tests/rwx-to-mode +++ b/tests/rwx-to-mode @@ -6,15 +6,19 @@ # FIXME: handle special bits, too. case $# in - 1) ;; + 1) rwx=$1;; *) echo "$0: wrong number of arguments" 1>&2 echo "Usage: $0 ls-style-mode-string" 1>&2 exit 1;; esac -rwx=$1 -u=`echo $rwx|sed 's/^.\(...\).*/\1/;s/-//g'` -g=`echo $rwx|sed 's/^....\(...\).*/\1/;s/-//g'` -o=`echo $rwx|sed 's/^.......\(...\).*/\1/;s/-//g'` -echo "=,u=$u,g=$g,o=$o" +case $rwx in + [ld-][rwx-][rwx-][rwxs-][rwx-][rwx-][rwxs-][rwx-][rwx-][rwxt-]) ;; + *) echo "$0: invalid mode string: $rwx";; +esac + +u=`echo $rwx|sed 's/^.\(...\).*/,u=\1/;s/-//g;s/^,u=$//'` +g=`echo $rwx|sed 's/^....\(...\).*/,g=\1/;s/-//g;s/^,g=$//'` +o=`echo $rwx|sed 's/^.......\(...\).*/,o=\1/;s/-//g;s/^,o=$//'` +echo "=$u$g$o" exit 0