diff options
author | Francis Dupont <fdupont@isc.org> | 2017-04-21 16:52:40 +0200 |
---|---|---|
committer | Francis Dupont <fdupont@isc.org> | 2018-11-29 16:42:13 +0100 |
commit | d904376d815e8275eaf88a7e9b611ffee611f20c (patch) | |
tree | 5aa75cda5276cec89728f0be901971598febde63 /keama/parse.c | |
parent | ba9e4b40b2dbaf441a81476547f7527954886989 (diff) | |
download | isc-dhcp-d904376d815e8275eaf88a7e9b611ffee611f20c.tar.gz |
Checkpoint (wrote doc, began group)
Diffstat (limited to 'keama/parse.c')
-rw-r--r-- | keama/parse.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/keama/parse.c b/keama/parse.c index 713aadc8..bcfcd81b 100644 --- a/keama/parse.c +++ b/keama/parse.c @@ -3142,14 +3142,17 @@ parse_non_binary(struct element *expr, if (context == context_numeric || context == context_data_or_numeric) { skip_token(&val, NULL, cfile); + /* can also return a const-int */ resetInt(expr, atoi(val)); break; } case NUMBER_OR_NAME: + /* Return a const-data to make a difference with + a string literal. */ data = makeString(-1, "0x"); concatString(data, parse_hexa(cfile, NULL)); - resetString(expr, data); + mapSet(expr, createString(data), "const-data"); break; case NS_FORMERR: @@ -4845,6 +4848,7 @@ is_data_expression(struct element *expr) mapContains(expr, "uppercase") || mapContains(expr, "option") || mapContains(expr, "hardware") || + mapContains(expr, "const-data") || mapContains(expr, "packet") || mapContains(expr, "concat") || mapContains(expr, "encapsulate") || @@ -4872,6 +4876,7 @@ is_numeric_expression(struct element *expr) mapContains(expr, "extract-int8") || mapContains(expr, "extract-int16") || mapContains(expr, "extract-int32") || + mapContains(expr, "const-int") || mapContains(expr, "lease-time") || mapContains(expr, "add") || mapContains(expr, "subtract") || |