X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=config%2Fmdate-sh;h=4b2efdf91f7af8d2b4111d3083a98e2aecb1357f;hb=d30b2c81faee1229bfdaf32c168654c009be6e48;hp=b610b47a65d19dc775e5d5cdbf07fd98c9082315;hpb=33541efa9512685705b0d8d8c7065f2c1d40b7e1;p=gnulib.git diff --git a/config/mdate-sh b/config/mdate-sh index b610b47a6..4b2efdf91 100755 --- a/config/mdate-sh +++ b/config/mdate-sh @@ -1,6 +1,10 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc. + +scriptversion=2005-02-07.09 + +# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software +# Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -22,6 +26,31 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No file. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: mdate-sh [--help] [--version] FILE + +Pretty-print the modification time of FILE. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "mdate-sh $scriptversion" + exit $? + ;; +esac + # Prevent date giving response in another language. LANG=C export LANG @@ -52,7 +81,7 @@ fi # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. -set - x`$ls_command /` +set x`ls -l -d /` # Find which argument is the month. month= @@ -79,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;; @@ -100,7 +148,10 @@ case $1 in Dec) month=December; nummonth=12;; esac -day=$2 +case $3 in + ???*) 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. @@ -131,3 +182,12 @@ esac # The result. echo $day $month $year + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: