diff options
| author | Richard Brooksby | 2013-05-08 16:29:12 +0100 |
|---|---|---|
| committer | Richard Brooksby | 2013-05-08 16:29:12 +0100 |
| commit | c781e594a8b80795cd91d4263f49e8b6347793c6 (patch) | |
| tree | 7f12d1db2b417c86edf2e244d526861e03db8fac /mps/code | |
| parent | 07f446a4502af8891d4e074328bba74134f5487c (diff) | |
| download | emacs-c781e594a8b80795cd91d4263f49e8b6347793c6.tar.gz emacs-c781e594a8b80795cd91d4263f49e8b6347793c6.zip | |
Adding keyword argument checking for format and chain.
Copied from Perforce
Change: 181637
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/arg.c | 10 | ||||
| -rw-r--r-- | mps/code/mpm.h | 2 | ||||
| -rw-r--r-- | mps/code/pool.c | 4 |
3 files changed, 14 insertions, 2 deletions
diff --git a/mps/code/arg.c b/mps/code/arg.c index b74b9d6886b..6daee5c432e 100644 --- a/mps/code/arg.c +++ b/mps/code/arg.c | |||
| @@ -22,6 +22,16 @@ Bool ArgCheckCant(Arg arg) { | |||
| 22 | return TRUE; | 22 | return TRUE; |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | Bool ArgCheckFormat(Arg arg) { | ||
| 26 | CHECKD(Format, arg->val.format); | ||
| 27 | return TRUE; | ||
| 28 | } | ||
| 29 | |||
| 30 | Bool ArgCheckChain(Arg arg) { | ||
| 31 | CHECKD(Chain, arg->val.chain); | ||
| 32 | return TRUE; | ||
| 33 | } | ||
| 34 | |||
| 25 | 35 | ||
| 26 | const KeyStruct _mps_key_varargs = {KeySig, "VARARGS", ArgCheckCant}; | 36 | const KeyStruct _mps_key_varargs = {KeySig, "VARARGS", ArgCheckCant}; |
| 27 | 37 | ||
diff --git a/mps/code/mpm.h b/mps/code/mpm.h index bd3752460f7..cb9a6f49fa2 100644 --- a/mps/code/mpm.h +++ b/mps/code/mpm.h | |||
| @@ -138,6 +138,8 @@ extern Bool ArgCheck(Arg arg); | |||
| 138 | extern Bool ArgListCheck(ArgList args); | 138 | extern Bool ArgListCheck(ArgList args); |
| 139 | extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key); | 139 | extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key); |
| 140 | extern Bool ArgCheckCant(Arg arg); | 140 | extern Bool ArgCheckCant(Arg arg); |
| 141 | extern Bool ArgCheckFormat(Arg arg); | ||
| 142 | extern Bool ArgCheckChain(Arg arg); | ||
| 141 | 143 | ||
| 142 | 144 | ||
| 143 | /* Logs and Powers | 145 | /* Logs and Powers |
diff --git a/mps/code/pool.c b/mps/code/pool.c index 09a10f13d62..283f3244ff4 100644 --- a/mps/code/pool.c +++ b/mps/code/pool.c | |||
| @@ -107,8 +107,8 @@ Bool PoolCheck(Pool pool) | |||
| 107 | 107 | ||
| 108 | /* Common keywords to PoolInit */ | 108 | /* Common keywords to PoolInit */ |
| 109 | 109 | ||
| 110 | const KeyStruct _mps_key_format = {KeySig, "AMS_FORMAT", ArgCheckCant}; /* FIXME: ArgCheckFormat */ | 110 | const KeyStruct _mps_key_format = {KeySig, "AMS_FORMAT", ArgCheckFormat}; |
| 111 | const KeyStruct _mps_key_chain = {KeySig, "AMS_CHAIN", ArgCheckCant}; /* FIXME: ArgCheckChain */ | 111 | const KeyStruct _mps_key_chain = {KeySig, "AMS_CHAIN", ArgCheckChain}; |
| 112 | 112 | ||
| 113 | 113 | ||
| 114 | /* PoolInit -- initialize a pool | 114 | /* PoolInit -- initialize a pool |