diff options
author | Alice Frosi <afrosi@redhat.com> | 2023-08-29 11:50:00 +0200 |
---|---|---|
committer | Alice Frosi <afrosi@redhat.com> | 2023-08-30 10:48:59 +0200 |
commit | d3917582873df723aa2a3ddbb6116950292e114c (patch) | |
tree | 778089680e396cf9bf86c201476952f0870e93de /cooker/match.c | |
parent | 0e8806838763655f5f35822e19a20cb21e8d4747 (diff) | |
download | seitan-d3917582873df723aa2a3ddbb6116950292e114c.tar seitan-d3917582873df723aa2a3ddbb6116950292e114c.tar.gz seitan-d3917582873df723aa2a3ddbb6116950292e114c.tar.bz2 seitan-d3917582873df723aa2a3ddbb6116950292e114c.tar.lz seitan-d3917582873df723aa2a3ddbb6116950292e114c.tar.xz seitan-d3917582873df723aa2a3ddbb6116950292e114c.tar.zst seitan-d3917582873df723aa2a3ddbb6116950292e114c.zip |
cooker: simplify tag and add caller metadata
Group the metadata information:
- simplify the json by removing the 'tag' and only using 'get' and 'set'
keys
- get uid and gid at runtime for the target ('caller'). This can be useful when
the the UID and GID of the target are only known at runtime and they
need to be used for setting the permissions of files
- updated example demo/mknod.hjson
Signed-off-by: Alice Frosi <afrosi@redhat.com>
Diffstat (limited to 'cooker/match.c')
-rw-r--r-- | cooker/match.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cooker/match.c b/cooker/match.c index eeedead..36ac9df 100644 --- a/cooker/match.c +++ b/cooker/match.c @@ -119,7 +119,7 @@ xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx if (json_value_get_type(jvalue) == JSONObject && (tmp = json_value_get_object(jvalue)) && - (tag_name = json_object_get_string(tmp, "tag"))) { + (tag_name = json_object_get_string(tmp, "set"))) { debug(" setting tag reference '%s'", tag_name); gluten_add_tag(g, tag_name, offset); @@ -258,7 +258,9 @@ xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx parse_field(g, offset, cmp, jump, index, f, jvalue); break; case STRING: - v.v_str = json_value_get_string(jvalue); + if ((v.v_str = json_value_get_string(jvalue)) == NULL) + die(" failed parsing field for value:%s", + json_serialize_to_string_pretty(jvalue)); if (strlen(v.v_str) + 1 > f->size) die(" string %s too long for field", v.v_str); |