diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/json.c | 6 | ||||
-rw-r--r-- | src/parser_json.c | 15 |
2 files changed, 7 insertions, 14 deletions
@@ -508,13 +508,13 @@ json_t *set_elem_expr_json(const struct expr *expr, struct output_ctx *octx) root = json_pack("{s:o}", "val", root); if (expr->timeout) - json_object_set_new(root, "elem_timeout", + json_object_set_new(root, "timeout", json_integer(expr->timeout / 1000)); if (expr->expiration) - json_object_set_new(root, "elem_expires", + json_object_set_new(root, "expires", json_integer(expr->expiration / 1000)); if (expr->comment) - json_object_set_new(root, "elem_comment", + json_object_set_new(root, "comment", json_string(expr->comment)); return json_pack("{s:o}", "elem", root); } diff --git a/src/parser_json.c b/src/parser_json.c index afcd10a3..fd60c59c 100644 --- a/src/parser_json.c +++ b/src/parser_json.c @@ -1140,11 +1140,11 @@ static struct expr *json_parse_set_elem_expr(struct json_ctx *ctx, expr = set_elem_expr_alloc(int_loc, expr); - if (!json_unpack(root, "{s:i}", "elem_timeout", &i)) + if (!json_unpack(root, "{s:i}", "timeout", &i)) expr->timeout = i * 1000; - if (!json_unpack(root, "{s:i}", "elem_expires", &i)) + if (!json_unpack(root, "{s:i}", "expires", &i)) expr->expiration = i * 1000; - if (!json_unpack(root, "{s:s}", "elem_comment", &expr->comment)) + if (!json_unpack(root, "{s:s}", "comment", &expr->comment)) expr->comment = xstrdup(expr->comment); return expr; @@ -1298,7 +1298,7 @@ static struct expr *json_parse_set_elem_expr_stmt(struct json_ctx *ctx, json_t * { struct expr *expr = json_parse_flagged_expr(ctx, CTX_F_SES, root); - if (expr->ops->type != EXPR_SET_ELEM) + if (expr && expr->ops->type != EXPR_SET_ELEM) expr = set_elem_expr_alloc(int_loc, expr); return expr; @@ -1820,7 +1820,6 @@ static struct stmt *json_parse_set_stmt(struct json_ctx *ctx, struct expr *expr, *expr2; struct stmt *stmt; json_t *elem; - uint64_t tmp; int op; if (json_unpack_err(ctx, value, "{s:s, s:o, s:s}", @@ -1842,12 +1841,6 @@ static struct stmt *json_parse_set_stmt(struct json_ctx *ctx, return NULL; } - if (!json_unpack(elem, "{s:I}", "elem_timeout", &tmp)) - expr->timeout = tmp * 1000; - if (!json_unpack(elem, "{s:I}", "elem_expires", &tmp)) - expr->expiration = tmp * 1000; - json_unpack(elem, "{s:s}", "elem_comment", &expr->comment); - if (set[0] != '@') { json_error(ctx, "Illegal set reference in set statement."); expr_free(expr); |