renatofilho@902: /** renatofilho@902: * GMyth Library renatofilho@902: * renatofilho@902: * @file gmyth/gmyth_debug.c renatofilho@902: * renatofilho@902: * renatofilho@902: * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia. renatofilho@902: * @author Renato Filho renatofilho@902: * renatofilho@902: * renatofilho@902: * This program is free software; you can redistribute it and/or modify renatofilho@902: * it under the terms of the GNU Lesser General Public License as published by renatofilho@902: * the Free Software Foundation; either version 2 of the License, or renatofilho@902: * (at your option) any later version. renatofilho@902: * renatofilho@902: * This program is distributed in the hope that it will be useful, renatofilho@902: * but WITHOUT ANY WARRANTY; without even the implied warranty of renatofilho@902: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the renatofilho@902: * GNU General Public License for more details. renatofilho@902: * renatofilho@902: * You should have received a copy of the GNU Lesser General Public License renatofilho@902: * along with this program; if not, write to the Free Software renatofilho@902: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA renatofilho@902: */ renatofilho@902: renatofilho@902: #ifdef HAVE_CONFIG_H renatofilho@902: #include "config.h" renatofilho@902: #endif renatofilho@902: renatofilho@902: #include "gmyth_debug.h" renatofilho@902: renatofilho@902: void renatofilho@902: gmyth_debug_real(const char *func, renatofilho@902: const char *file, const int line, gboolean newline, renatofilho@902: const char *format, ...) renatofilho@902: { renatofilho@902: va_list args; renatofilho@902: char buffer[1025]; renatofilho@902: char str_time[255]; renatofilho@902: time_t the_time; renatofilho@902: renatofilho@902: renatofilho@902: if (g_getenv ("GMYTH-DEBUG")) renatofilho@902: { renatofilho@902: va_start(args, format); renatofilho@902: renatofilho@902: g_vsnprintf(buffer, 1024, format, args); renatofilho@902: renatofilho@902: va_end(args); renatofilho@902: renatofilho@902: time(&the_time); renatofilho@902: strftime(str_time, 254, "%H:%M:%S", localtime(&the_time)); renatofilho@902: renatofilho@902: g_printerr(newline ? "(%s) [%p] [%s] %s:%d: %s\n" : renatofilho@902: "(%s) [%p] [%s] %s:%d: %s", str_time, g_thread_self(), func, renatofilho@902: file, line, buffer); renatofilho@902: } renatofilho@902: }