Split --disable-conf into --disable-conffiles & --disable-envvars
This commit is contained in:
parent
fd6d4db5b7
commit
7e3549819e
5 changed files with 40 additions and 16 deletions
25
configure.ac
25
configure.ac
|
@ -81,15 +81,26 @@ then
|
||||||
AC_DEFINE([LOG], [1], [Enable log])
|
AC_DEFINE([LOG], [1], [Enable log])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Conf support (default:yes)
|
# Conffiles support (default:yes)
|
||||||
AC_ARG_ENABLE([conf],AS_HELP_STRING([--disable-conf],[Disable use of config files and environment variables]),[enable_conf=$enableval],[enable_conf="yes"])
|
AC_ARG_ENABLE([conffiles],AS_HELP_STRING([--disable-conffiles],[Disable use of config files]),[enable_conffiles=$enableval],[enable_conffiles="yes"])
|
||||||
AC_MSG_CHECKING(for conf flag)
|
AC_MSG_CHECKING(for conffiles flag)
|
||||||
AC_MSG_RESULT($enable_conf)
|
AC_MSG_RESULT($enable_conffiles)
|
||||||
AM_CONDITIONAL([WITH_CONF], [test "$enable_conf" != "no"])
|
AM_CONDITIONAL([WITH_CONFFILES], [test "$enable_conffiles" != "no"])
|
||||||
|
|
||||||
if test x"$enable_conf" = "xyes"
|
if test x"$enable_conffiles" = "xyes"
|
||||||
then
|
then
|
||||||
AC_DEFINE([CONF], [1], [Enable conf])
|
AC_DEFINE([CONFFILES], [1], [Enable conffiles])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Envvars support (default:yes)
|
||||||
|
AC_ARG_ENABLE([envvars],AS_HELP_STRING([--disable-envvars],[Disable use of environment variables]),[enable_envvars=$enableval],[enable_envvars="yes"])
|
||||||
|
AC_MSG_CHECKING(for envvars flag)
|
||||||
|
AC_MSG_RESULT($enable_envvars)
|
||||||
|
AM_CONDITIONAL([WITH_ENVVARS], [test "$enable_envvars" != "no"])
|
||||||
|
|
||||||
|
if test x"$enable_envvars" = "xyes"
|
||||||
|
then
|
||||||
|
AC_DEFINE([ENVVARS], [1], [Enable envvars])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Debug support (default:no)
|
# Debug support (default:no)
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif // HAVE_CONFIG_H
|
#endif // HAVE_CONFIG_H
|
||||||
|
|
||||||
#ifdef CONF
|
#ifdef CONFFILES
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
|
@ -190,5 +190,5 @@ conf_load(nfc_context *context)
|
||||||
conf_devices_load(LIBNFC_DEVICECONFDIR, context);
|
conf_devices_load(LIBNFC_DEVICECONFDIR, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // CONF
|
#endif // CONFFILES
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
void
|
void
|
||||||
log_init(const nfc_context *context)
|
log_init(const nfc_context *context)
|
||||||
{
|
{
|
||||||
#ifdef CONF
|
#ifdef ENVVARS
|
||||||
char str[32];
|
char str[32];
|
||||||
sprintf(str, "%"PRIu32, context->log_level);
|
sprintf(str, "%"PRIu32, context->log_level);
|
||||||
setenv("LIBNFC_LOG_LEVEL", str, 1);
|
setenv("LIBNFC_LOG_LEVEL", str, 1);
|
||||||
|
@ -52,7 +52,7 @@ void
|
||||||
log_put(const uint8_t group, const char *category, const uint8_t priority, const char *format, ...)
|
log_put(const uint8_t group, const char *category, const uint8_t priority, const char *format, ...)
|
||||||
{
|
{
|
||||||
char *env_log_level = NULL;
|
char *env_log_level = NULL;
|
||||||
#ifdef CONF
|
#ifdef ENVVARS
|
||||||
env_log_level = getenv("LIBNFC_LOG_LEVEL");
|
env_log_level = getenv("LIBNFC_LOG_LEVEL");
|
||||||
#endif
|
#endif
|
||||||
uint32_t log_level;
|
uint32_t log_level;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONF
|
#ifdef CONFFILES
|
||||||
#include "conf.h"
|
#include "conf.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ nfc_context_new(void)
|
||||||
}
|
}
|
||||||
res->user_defined_device_count = 0;
|
res->user_defined_device_count = 0;
|
||||||
|
|
||||||
#ifdef CONF
|
#ifdef ENVVARS
|
||||||
// Load user defined device from environment variable at first
|
// Load user defined device from environment variable at first
|
||||||
char *envvar = getenv("LIBNFC_DEFAULT_DEVICE");
|
char *envvar = getenv("LIBNFC_DEFAULT_DEVICE");
|
||||||
if (envvar) {
|
if (envvar) {
|
||||||
|
@ -97,9 +97,14 @@ nfc_context_new(void)
|
||||||
res->user_defined_device_count++;
|
res->user_defined_device_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // ENVVARS
|
||||||
|
|
||||||
|
#ifdef CONFFILES
|
||||||
// Load options from configuration file (ie. /etc/nfc/libnfc.conf)
|
// Load options from configuration file (ie. /etc/nfc/libnfc.conf)
|
||||||
conf_load(res);
|
conf_load(res);
|
||||||
|
#endif // CONFFILES
|
||||||
|
|
||||||
|
#ifdef ENVVARS
|
||||||
// Environment variables
|
// Environment variables
|
||||||
// Load "intrusive scan" option
|
// Load "intrusive scan" option
|
||||||
envvar = getenv("LIBNFC_INTRUSIVE_SCAN");
|
envvar = getenv("LIBNFC_INTRUSIVE_SCAN");
|
||||||
|
@ -110,7 +115,7 @@ nfc_context_new(void)
|
||||||
if (envvar) {
|
if (envvar) {
|
||||||
res->log_level = atoi(envvar);
|
res->log_level = atoi(envvar);
|
||||||
}
|
}
|
||||||
#endif // CONF
|
#endif // ENVVARS
|
||||||
|
|
||||||
// Initialize log before use it...
|
// Initialize log before use it...
|
||||||
log_init(res);
|
log_init(res);
|
||||||
|
|
12
libnfc/nfc.c
12
libnfc/nfc.c
|
@ -294,13 +294,15 @@ nfc_list_devices(nfc_context *context, nfc_connstring connstrings[], const size_
|
||||||
{
|
{
|
||||||
size_t device_found = 0;
|
size_t device_found = 0;
|
||||||
|
|
||||||
#ifdef CONF
|
#ifdef CONFFILES
|
||||||
// Load manually configured devices (from config file and env variables)
|
// Load manually configured devices (from config file and env variables)
|
||||||
// TODO From env var...
|
// TODO From env var...
|
||||||
for (uint32_t i = 0; i < context->user_defined_device_count; i++) {
|
for (uint32_t i = 0; i < context->user_defined_device_count; i++) {
|
||||||
if (context->user_defined_devices[i].optional) {
|
if (context->user_defined_devices[i].optional) {
|
||||||
// let's make sure the device exists
|
// let's make sure the device exists
|
||||||
nfc_device *pnd = NULL;
|
nfc_device *pnd = NULL;
|
||||||
|
|
||||||
|
#ifdef ENVVARS
|
||||||
char *env_log_level = getenv("LIBNFC_LOG_LEVEL");
|
char *env_log_level = getenv("LIBNFC_LOG_LEVEL");
|
||||||
char *old_env_log_level = NULL;
|
char *old_env_log_level = NULL;
|
||||||
// do it silently
|
// do it silently
|
||||||
|
@ -312,13 +314,19 @@ nfc_list_devices(nfc_context *context, nfc_connstring connstrings[], const size_
|
||||||
strcpy(old_env_log_level, env_log_level);
|
strcpy(old_env_log_level, env_log_level);
|
||||||
}
|
}
|
||||||
setenv("LIBNFC_LOG_LEVEL", "0", 1);
|
setenv("LIBNFC_LOG_LEVEL", "0", 1);
|
||||||
|
#endif // ENVVARS
|
||||||
|
|
||||||
pnd = nfc_open(context, context->user_defined_devices[i].connstring);
|
pnd = nfc_open(context, context->user_defined_devices[i].connstring);
|
||||||
|
|
||||||
|
#ifdef ENVVARS
|
||||||
if (old_env_log_level) {
|
if (old_env_log_level) {
|
||||||
setenv("LIBNFC_LOG_LEVEL", old_env_log_level, 1);
|
setenv("LIBNFC_LOG_LEVEL", old_env_log_level, 1);
|
||||||
free(old_env_log_level);
|
free(old_env_log_level);
|
||||||
} else {
|
} else {
|
||||||
unsetenv("LIBNFC_LOG_LEVEL");
|
unsetenv("LIBNFC_LOG_LEVEL");
|
||||||
}
|
}
|
||||||
|
#endif // ENVVARS
|
||||||
|
|
||||||
if (pnd) {
|
if (pnd) {
|
||||||
nfc_close(pnd);
|
nfc_close(pnd);
|
||||||
log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "User device %s found", context->user_defined_devices[i].name);
|
log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "User device %s found", context->user_defined_devices[i].name);
|
||||||
|
@ -335,7 +343,7 @@ nfc_list_devices(nfc_context *context, nfc_connstring connstrings[], const size_
|
||||||
return device_found;
|
return device_found;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // CONF
|
#endif // CONFFILES
|
||||||
|
|
||||||
// Device auto-detection
|
// Device auto-detection
|
||||||
if (context->allow_autoscan) {
|
if (context->allow_autoscan) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue