00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <glib/gtypes.h>
00023 #include <stdio.h>
00024 #include <stdarg.h>
00025 #include "debug.h"
00026
00027 static guint depth = 0;
00028
00029 void enter_func(const char *name)
00030 {
00031 guint i;
00032 for (i = 0; i < depth; i++) {
00033 fprintf(stderr, " ");
00034 }
00035 fprintf(stderr, "Entering %s\n", name);
00036 depth++;
00037 }
00038
00039 void leave_func(const char *name)
00040 {
00041 guint i;
00042 depth--;
00043 for (i = 0; i < depth; i++) {
00044 fprintf(stderr, " ");
00045 }
00046 fprintf(stderr, "Leaving %s\n", name);
00047 }
00048
00049 void dbg(const char *func, const char *format, ...)
00050 {
00051 guint i;
00052 va_list args;
00053 for (i = 0; i < depth; i++) {
00054 fprintf(stderr, " ");
00055 }
00056 fprintf(stderr, "*** %s: ", func);
00057 va_start(args, format);
00058 vfprintf(stderr, format, args);
00059 va_end(args);
00060 fprintf(stderr, "\n");
00061 }