/* spl_dumptree.c 可配置的树形打印模块(只用基本 ASCII)*/ #include "spl_dumptree.h" #include const spl_dumptree_style_t spl_dumptree_ascii_style = { "| ", "|-", "`-", " ", }; void spl_dumptree_print(const spl_dumptree_style_t *st, const char *prefix, int is_last, const char *fmt, ...) { va_list ap; printf("%s%s ", prefix, is_last ? st->last_branch : st->branch); va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); printf("\n"); } void spl_dumptree_child_prefix(const spl_dumptree_style_t *st, const char *prefix, int is_last, char *out, size_t cap) { snprintf(out, cap, "%s%s", prefix, is_last ? st->space : st->vertical); }