New upstream version 3.1.1
[xfishtank.git] / src / debug.h
CommitLineData
4c1bd65b
MG
1/* -copyright-
2#-# Copyright © 2021 Eric Bina, Dave Black, TJ Phan,
3#-# Vincent Renardias, Willem Vermin
4#-#
5#-# Permission is hereby granted, free of charge, to any person
6#-# obtaining a copy of this software and associated documentation
7#-# files (the “Software”), to deal in the Software without
8#-# restriction, including without limitation the rights to use,
9#-# copy, modify, merge, publish, distribute, sublicense, and/or
10#-# sell copies of the Software, and to permit persons to whom
11#-# the Software is furnished to do so, subject to the following
12#-# conditions:
13#-#
14#-# The above copyright notice and this permission notice shall
15#-# be included in all copies or substantial portions of the Software.
16#-#
17#-# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
18#-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19#-# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20#-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21#-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22#-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23#-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24#-# OTHER DEALINGS IN THE SOFTWARE.
25#-#
26*/
27// Macros P, R and I can be used as printf, but they attach the location of the
28// statement to the output
29// P and R for debugging
30// P : only active when DEBUG is defined
31// R : always active
32// I : meant for production
33#pragma once
34#include <stdio.h>
35#ifdef DEBUG
36#define P(...) do {printf ("%s: %d: ",__FILE__,__LINE__);printf(__VA_ARGS__);fflush(stdout);}while(0)
37#else
38#define P(...) {}
39#endif
40#define R(...) do {printf ("%s: %d: ",__FILE__,__LINE__);printf(__VA_ARGS__);fflush(stdout);} while(0)
41#define I(...) do {printf ("Xfishtank info: %s: %d: ",__FILE__,__LINE__);printf(__VA_ARGS__);fflush(stdout);} while(0)
42
43extern int counter;
This page took 0.011885 seconds and 4 git commands to generate.