gmyth-dbus/src/gmyth_debug.c
author renatofilho
Thu Jan 31 19:56:16 2008 +0000 (2008-01-31)
branchtrunk
changeset 902 f22ca7dadc01
permissions -rw-r--r--
[svn r908] added gmyth-debug functions
renatofilho@902
     1
/**
renatofilho@902
     2
 * GMyth Library
renatofilho@902
     3
 *
renatofilho@902
     4
 * @file gmyth/gmyth_debug.c
renatofilho@902
     5
 * 
renatofilho@902
     6
 *
renatofilho@902
     7
 * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia.
renatofilho@902
     8
 * @author Renato Filho <renato.filho@indt.org.br>
renatofilho@902
     9
 *
renatofilho@902
    10
 * 
renatofilho@902
    11
 * This program is free software; you can redistribute it and/or modify
renatofilho@902
    12
 * it under the terms of the GNU Lesser General Public License as published by
renatofilho@902
    13
 * the Free Software Foundation; either version 2 of the License, or
renatofilho@902
    14
 * (at your option) any later version.
renatofilho@902
    15
 *
renatofilho@902
    16
 * This program is distributed in the hope that it will be useful,
renatofilho@902
    17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
renatofilho@902
    18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
renatofilho@902
    19
 * GNU General Public License for more details.
renatofilho@902
    20
 *
renatofilho@902
    21
 * You should have received a copy of the GNU Lesser General Public License
renatofilho@902
    22
 * along with this program; if not, write to the Free Software
renatofilho@902
    23
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
renatofilho@902
    24
 */
renatofilho@902
    25
renatofilho@902
    26
#ifdef HAVE_CONFIG_H
renatofilho@902
    27
#include "config.h"
renatofilho@902
    28
#endif
renatofilho@902
    29
renatofilho@902
    30
#include "gmyth_debug.h"
renatofilho@902
    31
renatofilho@902
    32
void
renatofilho@902
    33
gmyth_debug_real(const char *func,
renatofilho@902
    34
                 const char *file, const int line, gboolean newline,
renatofilho@902
    35
                 const char *format, ...)
renatofilho@902
    36
{
renatofilho@902
    37
    va_list         args;
renatofilho@902
    38
    char            buffer[1025];
renatofilho@902
    39
    char            str_time[255];
renatofilho@902
    40
    time_t          the_time;
renatofilho@902
    41
renatofilho@902
    42
renatofilho@902
    43
    if (g_getenv ("GMYTH-DEBUG"))
renatofilho@902
    44
    {
renatofilho@902
    45
        va_start(args, format);
renatofilho@902
    46
renatofilho@902
    47
        g_vsnprintf(buffer, 1024, format, args);
renatofilho@902
    48
renatofilho@902
    49
        va_end(args);
renatofilho@902
    50
renatofilho@902
    51
        time(&the_time);
renatofilho@902
    52
        strftime(str_time, 254, "%H:%M:%S", localtime(&the_time));
renatofilho@902
    53
renatofilho@902
    54
        g_printerr(newline ? "(%s) [%p] [%s] %s:%d: %s\n" :
renatofilho@902
    55
                   "(%s) [%p] [%s] %s:%d: %s", str_time, g_thread_self(), func,
renatofilho@902
    56
                   file, line, buffer);
renatofilho@902
    57
    }
renatofilho@902
    58
}