From d7844e59f766ee95a04ecf00d1e26aca974e9229 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Tue, 26 Jan 2010 20:38:05 +0100 Subject: Split out debugging and helper function to utility.c --- src/utility.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/utility.c (limited to 'src/utility.c') diff --git a/src/utility.c b/src/utility.c new file mode 100644 index 0000000..795fe9a --- /dev/null +++ b/src/utility.c @@ -0,0 +1,74 @@ +/** + * utility.c + * Debugging and helper function implementation. + * + * Copyright (C) 2009-2010 Nikias Bassen + * Copyright (C) 2009-2010 Martin Szulecki + * + * Licensed under the GNU General Public License Version 2 + * + * 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 2 of the License, 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 profile. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + */ + +#include +#include +#include +#include +#include + +#include "utility.h" + +/* debug */ +static gboolean debug_app = FALSE; + +void set_debug(gboolean debug) +{ + debug_app = debug; +} + +void debug_printf(const char *format, ...) +{ + if (debug_app) { + va_list args; + va_start (args, format); + vprintf(format, args); + va_end (args); + } +} + +/* helper */ +gboolean elapsed_ms(struct timeval *tv, guint ms) +{ + struct timeval now; + guint64 v1,v2; + + if (!tv) return FALSE; + + gettimeofday(&now, NULL); + + v1 = now.tv_sec*1000000 + now.tv_usec; + v2 = tv->tv_sec*1000000 + tv->tv_usec; + + if (v1 < v2) { + return TRUE; + } + + if ((v1 - v2)/1000 > ms) { + return TRUE; + } else { + return FALSE; + } +} -- cgit v1.1-32-gdbae