From 7d8a74adf1a0b2451140aa07c183b12d16ae6a38 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 19 May 2016 18:26:06 +0200 Subject: [PATCH] allow env override --- src/exchangedb/plugin_exchangedb_postgres.c | 29 ++++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index aaf565d27..c5965ae1f 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -4297,6 +4297,7 @@ libtaler_plugin_exchangedb_postgres_init (void *cls) struct GNUNET_CONFIGURATION_Handle *cfg = cls; struct PostgresClosure *pg; struct TALER_EXCHANGEDB_Plugin *plugin; + const char *ec; pg = GNUNET_new (struct PostgresClosure); @@ -4307,17 +4308,25 @@ libtaler_plugin_exchangedb_postgres_init (void *cls) GNUNET_free (pg); return NULL; } - if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_string (cfg, - "exchangedb-postgres", - "db_conn_str", - &pg->connection_cfg_str)) + ec = getenv ("TALER_EXCHANGEDB_POSTGRES_CONFIG"); + if (NULL != ec) { - GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "exchangedb-postgres", - "db_conn_str"); - GNUNET_free (pg); - return NULL; + pg->connection_cfg_str = GNUNET_strdup (ec); + } + else + { + if (GNUNET_OK == + GNUNET_CONFIGURATION_get_value_string (cfg, + "exchangedb-postgres", + "db_conn_str", + &pg->connection_cfg_str)) + { + GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, + "exchangedb-postgres", + "db_conn_str"); + GNUNET_free (pg); + return NULL; + } } plugin = GNUNET_new (struct TALER_EXCHANGEDB_Plugin); plugin->cls = pg;