From f19d233fad2f302e48be8b9c39a17ea37836c80e Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sat, 9 Mar 2013 00:46:45 +0100 Subject: [PATCH] Merge log-printf.c into log.c, inline with prototypes in log.h & platform files log_*.c --- libnfc/Makefile.am | 3 +- libnfc/log-printf.c | 92 --------------------------------------------- libnfc/log.c | 67 +++++++++++++++++++++++++++++++-- 3 files changed, 65 insertions(+), 97 deletions(-) delete mode 100644 libnfc/log-printf.c diff --git a/libnfc/Makefile.am b/libnfc/Makefile.am index a5ad329..709f4e2 100644 --- a/libnfc/Makefile.am +++ b/libnfc/Makefile.am @@ -40,11 +40,10 @@ if LIBUSB_ENABLED endif if WITH_LOG - libnfc_la_SOURCES += log-printf.c log_posix.c + libnfc_la_SOURCES += log_posix.c endif EXTRA_DIST = \ CMakeLists.txt \ - log-printf.c \ log_posix.c \ log_win32.c diff --git a/libnfc/log-printf.c b/libnfc/log-printf.c deleted file mode 100644 index 3f912be..0000000 --- a/libnfc/log-printf.c +++ /dev/null @@ -1,92 +0,0 @@ -/*- - * Copyright (C) 2011 Romain Tartière - * Copyright (C) 2011, 2012 Romuald Conty - * Copyright (C) 2013 Alex Lian - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation, either version 3 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 details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see - */ - -#include "log.h" - -#include -#include -#include -#include -#include -#include - -#ifndef LOG -// Leaving in a preprocessor error, as the build system should skip this -// file otherwise. -#error "No logging defined, but log-printf.c still compiled." -#else // LOG - -// Internal methods so different platforms can route the logging -// Offering both forms of the variadic function -// These are implemented in the log_ specific file -void log_put_internal(const char *format, ...); -void log_vput_internal(const char *format, va_list args); - -void -log_init(const nfc_context *context) -{ -#ifdef ENVVARS - char str[32]; - sprintf(str, "%"PRIu32, context->log_level); - setenv("LIBNFC_LOG_LEVEL", str, 1); -#else - (void)context; -#endif -} - -void -log_exit(void) -{ -} - -void -log_put(const uint8_t group, const char *category, const uint8_t priority, const char *format, ...) -{ - char *env_log_level = NULL; -#ifdef ENVVARS - env_log_level = getenv("LIBNFC_LOG_LEVEL"); -#endif - uint32_t log_level; - if (NULL == env_log_level) { - // LIBNFC_LOG_LEVEL is not set -#ifdef DEBUG - log_level = 3; -#else - log_level = 1; -#endif - } else { - log_level = atoi(env_log_level); - } - - // printf("log_level = %"PRIu32" group = %"PRIu8" priority = %"PRIu8"\n", log_level, group, priority); - if (log_level) { // If log is not disabled by log_level=none - if (((log_level & 0x00000003) >= priority) || // Global log level - (((log_level >> (group * 2)) & 0x00000003) >= priority)) { // Group log level - - va_list va; - va_start(va, format); - log_put_internal("%s\t%s\t", log_priority_to_str(priority), category); - log_vput_internal(format, va); - log_put_internal("\n"); - va_end(va); - } - } -} - -#endif // LOG diff --git a/libnfc/log.c b/libnfc/log.c index 758b0d3..d845227 100644 --- a/libnfc/log.c +++ b/libnfc/log.c @@ -16,12 +16,13 @@ */ #include "log.h" -/* +#include +#include #include +#include #include #include -*/ -#include +#include /* int @@ -70,3 +71,63 @@ log_priority_to_str(const int priority) return "unknown"; } + +#ifdef LOG +// Internal methods so different platforms can route the logging +// Offering both forms of the variadic function +// These are implemented in the log_ specific file +void log_put_internal(const char *format, ...); +void log_vput_internal(const char *format, va_list args); + +void +log_init(const nfc_context *context) +{ +#ifdef ENVVARS + char str[32]; + sprintf(str, "%"PRIu32, context->log_level); + setenv("LIBNFC_LOG_LEVEL", str, 1); +#else + (void)context; +#endif +} + +void +log_exit(void) +{ +} + +void +log_put(const uint8_t group, const char *category, const uint8_t priority, const char *format, ...) +{ + char *env_log_level = NULL; +#ifdef ENVVARS + env_log_level = getenv("LIBNFC_LOG_LEVEL"); +#endif + uint32_t log_level; + if (NULL == env_log_level) { + // LIBNFC_LOG_LEVEL is not set +#ifdef DEBUG + log_level = 3; +#else + log_level = 1; +#endif + } else { + log_level = atoi(env_log_level); + } + + // printf("log_level = %"PRIu32" group = %"PRIu8" priority = %"PRIu8"\n", log_level, group, priority); + if (log_level) { // If log is not disabled by log_level=none + if (((log_level & 0x00000003) >= priority) || // Global log level + (((log_level >> (group * 2)) & 0x00000003) >= priority)) { // Group log level + + va_list va; + va_start(va, format); + log_put_internal("%s\t%s\t", log_priority_to_str(priority), category); + log_vput_internal(format, va); + log_put_internal("\n"); + va_end(va); + } + } +} + +#endif // LOG