You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "trace.h"
  2. #if L2_ENABLE_TRACE
  3. #include <stdio.h>
  4. #include <stdarg.h>
  5. int l2_trace_depth = 0;
  6. void l2_trace_push(const char *name) {
  7. for (int i = 0; i < l2_trace_depth; ++i) {
  8. fprintf(stderr, " ");
  9. }
  10. fprintf(stderr, "%s {\n", name);
  11. l2_trace_depth += 1;
  12. }
  13. void l2_trace_pop() {
  14. l2_trace_depth -= 1;
  15. for (int i = 0; i < l2_trace_depth; ++i) {
  16. fprintf(stderr, " ");
  17. }
  18. fprintf(stderr, "}\n");
  19. }
  20. void l2_trace(const char *fmt, ...) {
  21. for (int i = 0; i < l2_trace_depth; ++i) {
  22. fprintf(stderr, " ");
  23. }
  24. va_list va;
  25. va_start(va, fmt);
  26. vfprintf(stderr, fmt, va);
  27. fprintf(stderr, "\n");
  28. }
  29. void l2_trace_cleanup(void *unused) {
  30. l2_trace_pop();
  31. }
  32. #endif