/* This file is part of mailfromd. -*- c -*- Copyright (C) 2007 Sergey Poznyakoff This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ MAKEDEBUGSYM(SRCLIST) int debug_level_p(int modn, int level); void debug_enable_module(const char *file, int level); int debug_module_level(const char *modname, int *plev); void debug_parse_spec(const char *spec); void debug_log(char *fmt, ...); int debug_spec_string(const char *spec, char **pbuf); #ifndef MF_SOURCE_NAME # define MF_SOURCE_NAME 0 #endif #define __DBG(lev) if (debug_level_p(MF_SOURCE_NAME, lev)) #define __debug(text) \ do { \ if (source_info_option) \ debug_log("%s:%lu:%s: %s", __FILE__, __LINE__, __FUNCTION__, text); \ else \ debug_log("%s", text); \ } while (0) #define debug(lev,text) \ do { __DBG(lev) __debug(text); } while(0) MKDEBUG(1) MKDEBUG(2) MKDEBUG(3) MKDEBUG(4) MKDEBUG(5) MKDEBUG(6)