1cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#!/bin/sh 2cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Get modification time of a file or directory and pretty-print it. 3cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 405436638acc7c010349a69c3395f1a57c642dc62Ying Wangscriptversion=2010-08-21.06; # UTC 5cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# Copyright (C) 1995-2012 Free Software Foundation, Inc. 7cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 8cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 9cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# This program is free software; you can redistribute it and/or modify 10cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# it under the terms of the GNU General Public License as published by 11cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# the Free Software Foundation; either version 2, or (at your option) 12cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# any later version. 13cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 14cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# This program is distributed in the hope that it will be useful, 15cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# but WITHOUT ANY WARRANTY; without even the implied warranty of 16cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# GNU General Public License for more details. 18cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 19cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# You should have received a copy of the GNU General Public License 2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# along with this program. If not, see <http://www.gnu.org/licenses/>. 21cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 22cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# As a special exception to the GNU General Public License, if you 23cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# distribute this file as part of a program that contains a 24cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# configuration script generated by Autoconf, you may include it under 25cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# the same distribution terms that you use for the rest of that program. 26cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 27cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# This file is maintained in Automake, please report 28cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# bugs to <bug-automake@gnu.org> or send patches to 29cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# <automake-patches@gnu.org>. 30cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 3105436638acc7c010349a69c3395f1a57c642dc62Ying Wangif test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then 3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang emulate sh 3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang NULLCMD=: 3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which 3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang # is contrary to our usage. Disable this feature. 3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang alias -g '${1+"$@"}'='"$@"' 3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang setopt NO_GLOB_SUBST 3805436638acc7c010349a69c3395f1a57c642dc62Ying Wangfi 3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 40cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase $1 in 41cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project '') 4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang echo "$0: No file. Try '$0 --help' for more information." 1>&2 43cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project exit 1; 44cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ;; 45cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project -h | --h*) 46cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project cat <<\EOF 47cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectUsage: mdate-sh [--help] [--version] FILE 48cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 4905436638acc7c010349a69c3395f1a57c642dc62Ying WangPretty-print the modification day of FILE, in the format: 5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang1 January 1970 51cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 52cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectReport bugs to <bug-automake@gnu.org>. 53cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEOF 54cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project exit $? 55cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ;; 56cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project -v | --v*) 57cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project echo "mdate-sh $scriptversion" 58cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project exit $? 59cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ;; 60cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectesac 61cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 6205436638acc7c010349a69c3395f1a57c642dc62Ying Wangerror () 6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang echo "$0: $1" >&2 6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang exit 1 6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Prevent date giving response in another language. 70cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectLANG=C 71cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexport LANG 72cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectLC_ALL=C 73cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexport LC_ALL 74cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectLC_TIME=C 75cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexport LC_TIME 76cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 77cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# GNU ls changes its time format in response to the TIME_STYLE 7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# variable. Since we cannot assume 'unset' works, revert this 79cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# variable to its documented default. 80cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectif test "${TIME_STYLE+set}" = set; then 81cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project TIME_STYLE=posix-long-iso 82cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project export TIME_STYLE 83cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectfi 84cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 85cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectsave_arg1=$1 86cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 87cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Find out how to get the extended ls output of a file or directory. 88cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectif ls -L /dev/null 1>/dev/null 2>&1; then 89cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ls_command='ls -L -l -d' 90cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectelse 91cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ls_command='ls -l -d' 92cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectfi 9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# Avoid user/group names that might have spaces, when possible. 9405436638acc7c010349a69c3395f1a57c642dc62Ying Wangif ls -n /dev/null 1>/dev/null 2>&1; then 9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang ls_command="$ls_command -n" 9605436638acc7c010349a69c3395f1a57c642dc62Ying Wangfi 97cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# A 'ls -l' line looks as follows on OS/2. 99cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# drwxrwx--- 0 Aug 11 2001 foo 100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# This differs from Unix, which adds ownership information. 101cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# drwxrwx--- 2 root root 4096 Aug 11 2001 foo 102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# To find the date, we split the line on spaces and iterate on words 104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# until we find a month. This cannot work with files whose owner is a 10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# user named "Jan", or "Feb", etc. However, it's unlikely that '/' 106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# will be owned by a user whose name is a month. So we first look at 107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# the extended ls output of the root directory to decide how many 108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# words should be skipped to get the date. 109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 110cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. 11105436638acc7c010349a69c3395f1a57c642dc62Ying Wangset x`$ls_command /` 112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Find which argument is the month. 114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectmonth= 115cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcommand= 116cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectuntil test $month 117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdo 11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang test $# -gt 0 || error "failed parsing '$ls_command /' output" 119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project shift 120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project # Add another shift to the command. 121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project command="$command shift;" 122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case $1 in 123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jan) month=January; nummonth=1;; 124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Feb) month=February; nummonth=2;; 125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Mar) month=March; nummonth=3;; 126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Apr) month=April; nummonth=4;; 127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project May) month=May; nummonth=5;; 128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jun) month=June; nummonth=6;; 129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jul) month=July; nummonth=7;; 130cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Aug) month=August; nummonth=8;; 131cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Sep) month=September; nummonth=9;; 132cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Oct) month=October; nummonth=10;; 133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Nov) month=November; nummonth=11;; 134cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Dec) month=December; nummonth=12;; 135cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project esac 136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectdone 137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 13805436638acc7c010349a69c3395f1a57c642dc62Ying Wangtest -n "$month" || error "failed parsing '$ls_command /' output" 13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Get the extended ls output of the file or directory. 14105436638acc7c010349a69c3395f1a57c642dc62Ying Wangset dummy x`eval "$ls_command \"\\\$save_arg1\""` 142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Remove all preceding arguments 144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecteval $command 145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 146cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Because of the dummy argument above, month is in $2. 147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# On a POSIX system, we should have 149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $# = 5 151cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $1 = file size 152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $2 = month 153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $3 = day 154cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $4 = year or time 155cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $5 = filename 156cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 157cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# On Darwin 7.7.0 and 7.6.0, we have 158cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# 159cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $# = 4 160cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $1 = day 161cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $2 = month 162cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $3 = year or time 163cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# $4 = filename 164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Get the month. 166cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase $2 in 167cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jan) month=January; nummonth=1;; 168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Feb) month=February; nummonth=2;; 169cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Mar) month=March; nummonth=3;; 170cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Apr) month=April; nummonth=4;; 171cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project May) month=May; nummonth=5;; 172cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jun) month=June; nummonth=6;; 173cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jul) month=July; nummonth=7;; 174cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Aug) month=August; nummonth=8;; 175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Sep) month=September; nummonth=9;; 176cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Oct) month=October; nummonth=10;; 177cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Nov) month=November; nummonth=11;; 178cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Dec) month=December; nummonth=12;; 179cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectesac 180cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase $3 in 182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project ???*) day=$1;; 183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *) day=$3; shift;; 184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectesac 185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Here we have to deal with the problem that the ls output gives either 187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# the time of day or the year. 188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcase $3 in 189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *:*) set `date`; eval year=\$$# 190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project case $2 in 191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jan) nummonthtod=1;; 192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Feb) nummonthtod=2;; 193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Mar) nummonthtod=3;; 194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Apr) nummonthtod=4;; 195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project May) nummonthtod=5;; 196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jun) nummonthtod=6;; 197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Jul) nummonthtod=7;; 198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Aug) nummonthtod=8;; 199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Sep) nummonthtod=9;; 200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Oct) nummonthtod=10;; 201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Nov) nummonthtod=11;; 202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project Dec) nummonthtod=12;; 203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project esac 204cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project # For the first six month of the year the time notation can also 205cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project # be used for files modified in the last year. 206cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project if (expr $nummonth \> $nummonthtod) > /dev/null; 207cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project then 208cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project year=`expr $year - 1` 209cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project fi;; 210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project *) year=$3;; 211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectesac 212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# The result. 214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectecho $day $month $year 215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Local Variables: 217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# mode: shell-script 218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# sh-indentation: 2 219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# eval: (add-hook 'write-file-hooks 'time-stamp) 220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# time-stamp-start: "scriptversion=" 221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# time-stamp-format: "%:y-%02m-%02d.%02H" 22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# time-stamp-time-zone: "UTC" 22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# time-stamp-end: "; # UTC" 224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# End: 225