NULL dlerr can mean "no error", mtim isn't always set,
and session_id/serial do not exist in fallback.
goto fail;
if (json_add_str(json, "path", node->map.path))
goto fail;
- if (json_add_int(json, "dlerr", node->dlerr)) // XXX relevant?
+ if (node->dlerr && json_add_int(json, "dlerr", node->dlerr)) // XXX relevant?
goto fail;
- if (json_add_ts(json, "mtim", node->mtim))
+ if (node->mtim && json_add_ts(json, "mtim", node->mtim))
goto fail;
if (node->rrdp)
if (json_object_add(json, "rrdp", rrdp_state2json(node->rrdp)))
if (json == NULL)
enomem_panic();
- if (json_add_str(json, TAGNAME_SESSION, state->session.session_id))
+ if (state->session.session_id &&
+ json_add_str(json, TAGNAME_SESSION, state->session.session_id))
goto fail;
- if (json_add_str(json, TAGNAME_SERIAL, state->session.serial.str))
+ if (state->session.serial.str &&
+ json_add_str(json, TAGNAME_SERIAL, state->session.serial.str))
goto fail;
if (state->files)
if (json_object_add(json, "files", files2json(state)))