+2005-02-07 Alexandre Duret-Lutz <adl@gnu.org>
+
+ * lib/mdate-sh: Cope with Darwin's Day/Month/Year output.
+ Report from Peter O'Gorman.
+
2005-02-06 Alexandre Duret-Lutz <adl@gnu.org>
* aclocal.in (usage, parse_arguments): New --dry-run and --diff
#!/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.
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;;
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.