bool emit_json(const nodelist *list) { log_debug(component, "emitting..."); size_t count = 0; QEMIT("["); bool result = nodelist_iterate(list, emit_json_sequence_item, &count); QEMIT("]"); QEMIT("\n"); return result; }
static bool emit_nodelist(const nodelist *list, yaml_emitter_t *emitter) { log_trace(component, "emitting nodelist"); yaml_event_t event; log_trace(component, "seqence start"); yaml_sequence_start_event_initialize(&event, NULL, (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG, 1, YAML_BLOCK_SEQUENCE_STYLE); if (!yaml_emitter_emit(emitter, &event)) return false; if(!nodelist_iterate(list, emit_sequence_item, emitter)) { return false; } log_trace(component, "seqence end"); yaml_sequence_end_event_initialize(&event); if (!yaml_emitter_emit(emitter, &event)) return false; return true; }
bool emit_zsh(const nodelist *list) { log_debug("zsh", "emitting..."); emit_context context = { .emit_mapping_item = emit_mapping_item, .wrap_collections = false }; return nodelist_iterate(list, emit_node, &context); } static bool emit_mapping_item(Node *key, Node *value, void * context __attribute__((unused))) { if(is_scalar(value)) { log_trace("zsh", "emitting mapping item"); if(!emit_scalar(scalar(key))) { log_error("zsh", "uh oh! couldn't emit mapping key"); return false; } EMIT(" "); if(!emit_scalar(scalar(value))) { log_error("zsh", "uh oh! couldn't emit mapping value"); return false; } EMIT(" "); } else { log_trace("zsh", "skipping mapping item"); } return true; }