/* * dump.c * Provides indented printf functionality */ #include "private.h" #include #include static int indent = 0; /*--------------------------------------------------------- */ int lub_dump_printf(const char *fmt, ...) { va_list args; int len; va_start(args, fmt); fprintf(stderr, "%*s", indent, ""); len = vfprintf(stderr, fmt, args); va_end(args); return len; } /*--------------------------------------------------------- */ static void lub_dump_divider(char c) { int i; lub_dump_printf(""); for (i = 0; i < (80 - indent); i++) { fputc(c, stderr); } fputc('\n', stderr); } /*--------------------------------------------------------- */ void lub_dump_indent(void) { indent += 2; lub_dump_divider('_'); } /*--------------------------------------------------------- */ void lub_dump_undent(void) { lub_dump_divider('^'); indent -= 2; } /*--------------------------------------------------------- */