/*
- * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
- *
* This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
*/
/**
* @brief Debug facility.
* @author Michael Beck, Sebastian Hack
* @date 15.12.2004
- * @version $Id$
*/
#include "config.h"
/**
* A debug module.
*/
-struct _firm_dbg_module_t {
+struct firm_dbg_module_t {
unsigned mask;
const char *name;
FILE *file;
};
/**
- * Compares two modules by comparing it's names
+ * Compares two modules by comparing their names
*/
static int module_cmp(const void *p1, const void *p2, size_t size)
{
- const firm_dbg_module_t *m1 = p1;
- const firm_dbg_module_t *m2 = p2;
+ const firm_dbg_module_t *m1 = (const firm_dbg_module_t*)p1;
+ const firm_dbg_module_t *m2 = (const firm_dbg_module_t*)p2;
(void) size;
return strcmp(m1->name, m2->name);
mod.name = name;
mod.file = stderr;
- if(!module_set)
+ if (!module_set)
firm_dbg_init();
- return set_insert(module_set, &mod, sizeof(mod), HASH_STR(name, strlen(name)));
+ return set_insert(firm_dbg_module_t, module_set, &mod, sizeof(mod), hash_str(name));
}
void firm_dbg_set_mask(firm_dbg_module_t *module, unsigned mask)
/**
* A message info: a pair of debug handle and message
*/
-typedef struct _msg_info_t {
+typedef struct msg_info_t {
const char *msg;
const firm_dbg_module_t *mod;
} msg_info_t;
ir_obst_vprintf(&dbg_obst, fmt, args);
obstack_1grow(&dbg_obst, '\0');
- res->msg = obstack_finish(&dbg_obst);
+ res->msg = (const char*)obstack_finish(&dbg_obst);
res->mod = mod;
return res;
}
{
void *res = NULL;
- if(mask == 0 || (mod->mask & mask)) {
+ if (mask == 0 || (mod->mask & mask)) {
va_list args;
va_start(args, fmt);
res = make_msg_info(mod, fmt, args);
void _firm_dbg_print_msg(const char *filename, int line, const char *func, void *mi_ptr)
{
- msg_info_t *mi = mi_ptr;
- if(mi) {
+ msg_info_t *mi = (msg_info_t*)mi_ptr;
+ if (mi) {
fprintf(mi->mod->file, mi->msg, filename, line, func);
obstack_free(&dbg_obst, mi);
}
void _firm_dbg_print(const firm_dbg_module_t *mod, unsigned mask, const char *fmt, ...)
{
- if(mask == 0 || (mod->mask & mask)) {
+ if (mask == 0 || (mod->mask & mask)) {
va_list args;
char *res;
va_start(args, fmt);
ir_obst_vprintf(&dbg_obst, fmt, args);
obstack_1grow(&dbg_obst, '\0');
- res = obstack_finish(&dbg_obst);
+ res = (char*)obstack_finish(&dbg_obst);
fprintf(mod->file, "%s", res);
obstack_free(&dbg_obst, res);
va_end(args);