|
160
|
1 # AS_CASE(WORD, [PATTERN1], [IF-MATCHED1]...[DEFAULT])
|
|
|
2 # ----------------------------------------------------
|
|
|
3 # Expand into
|
|
|
4 # | case WORD in
|
|
|
5 # | PATTERN1) IF-MATCHED1 ;;
|
|
|
6 # | ...
|
|
|
7 # | *) DEFAULT ;;
|
|
|
8 # | esac
|
|
|
9 m4_define([_AS_CASE],
|
|
|
10 [m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
|
|
|
11 [$#], 1, [ *) $1 ;;],
|
|
|
12 [$#], 2, [ $1) m4_default([$2], [:]) ;;],
|
|
|
13 [ $1) m4_default([$2], [:]) ;;
|
|
|
14 $0(m4_shiftn(2, $@))])dnl
|
|
|
15 ])
|
|
|
16 m4_defun([AS_CASE],
|
|
|
17 [m4_ifval([$2$3],
|
|
|
18 [case $1 in
|
|
|
19 _AS_CASE(m4_shift($@))
|
|
|
20 esac])])
|
|
|
21
|