text: Add va_list variant for GP_Print()
[gfxprim/pasky.git] / demos / bogoman / bogoman_debug.c
blobc72c69bb91e2e77bdac16c749422c47540dc26af
1 /*****************************************************************************
2 * This file is part of gfxprim library. *
3 * *
4 * Gfxprim is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU Lesser General Public *
6 * License as published by the Free Software Foundation; either *
7 * version 2.1 of the License, or (at your option) any later version. *
8 * *
9 * Gfxprim is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
12 * Lesser General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU Lesser General Public *
15 * License along with gfxprim; if not, write to the Free Software *
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
17 * Boston, MA 02110-1301 USA *
18 * *
19 * Copyright (C) 2009-2013 Cyril Hrubis <metan@ucw.cz> *
20 * *
21 *****************************************************************************/
23 #include <stdarg.h>
24 #include <stdio.h>
26 #include "bogoman_debug.h"
28 static unsigned int dbg_level = 0;
30 void bogoman_dbg_print(unsigned int level, const char *file, const char *fn,
31 unsigned int line, const char *fmt, ...)
33 if (level > dbg_level)
34 return;
36 if (level == 0)
37 fprintf(stderr, "WARNING: %s:%s:%i\n\t", file, fn, line);
38 else
39 fprintf(stderr, "DEBUG %i:%s:%s:%i:\n\t", level, file, fn, line);
41 va_list va;
43 va_start(va, fmt);
44 vfprintf(stderr, fmt, va);
45 va_end(va);
48 void bogoman_set_dbg_level(unsigned int level)
50 dbg_level = level;