From: Jim Meyering Date: Mon, 6 Nov 2000 09:02:21 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: FILEUTILS-4_0_32~66 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=a3dcaf6a8316c68b77cd09d7b813eba2e3db2cae;p=thirdparty%2Fcoreutils.git *** empty log message *** --- diff --git a/tests/rwx-to-mode b/tests/rwx-to-mode index 39e1500b9d..95a5121670 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