|
Packit |
b5b901 |
# AS_CASE(WORD, [PATTERN1], [IF-MATCHED1]...[DEFAULT])
|
|
Packit |
b5b901 |
# ----------------------------------------------------
|
|
Packit |
b5b901 |
# Expand into
|
|
Packit |
b5b901 |
# | case WORD in
|
|
Packit |
b5b901 |
# | PATTERN1) IF-MATCHED1 ;;
|
|
Packit |
b5b901 |
# | ...
|
|
Packit |
b5b901 |
# | *) DEFAULT ;;
|
|
Packit |
b5b901 |
# | esac
|
|
Packit |
b5b901 |
m4_define([_AS_CASE],
|
|
Packit |
b5b901 |
[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
|
|
Packit |
b5b901 |
[$#], 1, [ *) $1 ;;],
|
|
Packit |
b5b901 |
[$#], 2, [ $1) m4_default([$2], [:]) ;;],
|
|
Packit |
b5b901 |
[ $1) m4_default([$2], [:]) ;;
|
|
Packit |
b5b901 |
$0(m4_shiftn(2, $@))])dnl
|
|
Packit |
b5b901 |
])
|
|
Packit |
b5b901 |
m4_defun([AS_CASE],
|
|
Packit |
b5b901 |
[m4_ifval([$2$3],
|
|
Packit |
b5b901 |
[case $1 in
|
|
Packit |
b5b901 |
_AS_CASE(m4_shift($@))
|
|
Packit |
b5b901 |
esac])])
|
|
Packit |
b5b901 |
|