diff options
author | Alexandre Duret-Lutz <adl@gnu.org> | 2005-02-07 08:31:59 +0000 |
---|---|---|
committer | Alexandre Duret-Lutz <adl@gnu.org> | 2005-02-07 08:31:59 +0000 |
commit | 0f0865b9d09561dc4bd6a1c3557b27e9ad339aad (patch) | |
tree | 36912a706e19349f4defcf96c6655a062b13bcdc /lib/mdate-sh | |
parent | 16ca57539ea8482c6449cf769d36d52778c8553c (diff) | |
download | automake-0f0865b9d09561dc4bd6a1c3557b27e9ad339aad.tar.gz |
* lib/mdate-sh: Cope with Darwin's Day/Month/Year output.
Report from Peter O'Gorman.
Diffstat (limited to 'lib/mdate-sh')
-rwxr-xr-x | lib/mdate-sh | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/lib/mdate-sh b/lib/mdate-sh index c1f037a27..a60e7d71b 100755 --- a/lib/mdate-sh +++ b/lib/mdate-sh @@ -1,7 +1,7 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -scriptversion=2005-02-02.22 +scriptversion=2005-02-07.09 # Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software # Foundation, Inc. @@ -108,13 +108,32 @@ do done # Get the extended ls output of the file or directory. -set x`eval "$ls_command \"\$save_arg1\""` +set dummy x`eval "$ls_command \"\$save_arg1\""` # Remove all preceding arguments eval $command -# Get the month. Next argument is day, followed by the year or time. -case $1 in +# Because of the dummy argument above, month is in $2. +# +# On a POSIX system, we should have +# +# $# = 5 +# $1 = file size +# $2 = month +# $3 = day +# $4 = year or time +# $5 = filename +# +# On Darwin 7.7.0 and 7.6.0, we have +# +# $# = 4 +# $1 = day +# $2 = month +# $3 = year or time +# $4 = filename + +# Get the month. +case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; @@ -129,7 +148,10 @@ case $1 in Dec) month=December; nummonth=12;; esac -day=$2 +case $# in + 4) day=$1;; + *) day=$3; shift;; +esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. |