|
1 | 1 | #!@TERMUX_PREFIX@/bin/bash |
2 | 2 | set -u |
3 | 3 |
|
4 | | -PARAM_LIMIT=10 |
5 | | -PARAM_OFFSET=0 |
| 4 | +PARAM_LIMIT_DEFAULT=10 |
| 5 | +PARAM_LIMIT="$PARAM_LIMIT_DEFAULT" |
| 6 | + |
| 7 | +PARAM_OFFSET_DEFAULT=0 |
| 8 | +PARAM_OFFSET="$PARAM_OFFSET_DEFAULT" |
| 9 | + |
6 | 10 | PARAMS="" |
7 | 11 |
|
8 | 12 | SCRIPTNAME=termux-call-log |
9 | 13 |
|
| 14 | +validate_is_postive_number() { |
| 15 | + if [[ ! "${2:-}" =~ ^[0-9]+$ ]]; then |
| 16 | + echo "ERROR: The -$1 value '${2:-}' is not a positive number." 1>&2 |
| 17 | + show_usage || return $? |
| 18 | + exit 1 |
| 19 | + fi |
| 20 | +} |
| 21 | + |
10 | 22 | show_usage () { |
11 | | - echo "Usage: $SCRIPTNAME [-l limit] [-o offset]" |
| 23 | + echo "Usage: $SCRIPTNAME [-l <limit>] [-o <offset>]" |
12 | 24 | echo "List call log history" |
13 | | - echo " -l limit offset in call log list (default: $PARAM_LIMIT)" |
14 | | - echo " -o offset offset in call log list (default: $PARAM_OFFSET)" |
15 | | - exit 0 |
| 25 | + echo " -l <limit> limit in call log list (default: $PARAM_LIMIT_DEFAULT)" |
| 26 | + echo " -o <offset> offset in call log list (default: $PARAM_OFFSET_DEFAULT)" |
16 | 27 | } |
17 | 28 |
|
18 | 29 | while getopts :hl:o: option |
19 | 30 | do |
20 | 31 | case "$option" in |
21 | | - h) show_usage;; |
22 | | - l) PARAM_LIMIT=$OPTARG;; |
23 | | - o) PARAM_OFFSET=$OPTARG;; |
| 32 | + h) show_usage; exit 0;; |
| 33 | + l) PARAM_LIMIT="$OPTARG";; |
| 34 | + o) PARAM_OFFSET="$OPTARG";; |
24 | 35 | ?) echo "$SCRIPTNAME: illegal option -$OPTARG"; exit 1; |
25 | 36 | esac |
26 | 37 | done |
27 | 38 | shift $((OPTIND-1)) |
28 | 39 |
|
| 40 | +validate_is_postive_number l "$PARAM_LIMIT" |
| 41 | +validate_is_postive_number o "$PARAM_OFFSET" |
| 42 | + |
29 | 43 | if [ $# != 0 ]; then echo "$SCRIPTNAME: too many arguments"; exit 1; fi |
30 | 44 |
|
31 | 45 | PARAMS="$PARAMS --ei offset $PARAM_OFFSET --ei limit $PARAM_LIMIT" |
|
0 commit comments