diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-09-05 18:33:29 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-09-05 18:33:29 +0200 |
commit | 303e47e24b5809163d604ecca46ce406f16ef1e4 (patch) | |
tree | 32a01dd365e3ecfea745f1605b60dd84d69b28d6 /src/util/taler-config.c | |
parent | 317a70aeb32e9e18f67b1a1be2751ae67f80bd87 (diff) | |
download | exchange-303e47e24b5809163d604ecca46ce406f16ef1e4.tar.xz |
add taler-config C version, useful once we depend on the next GNUnet release to avoid the LD_PRELOAD hack
Diffstat (limited to 'src/util/taler-config.c')
-rw-r--r-- | src/util/taler-config.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/util/taler-config.c b/src/util/taler-config.c new file mode 100644 index 000000000..0e432f852 --- /dev/null +++ b/src/util/taler-config.c @@ -0,0 +1,73 @@ +/* + This file is part of Taler. + Copyright (C) 2012-2021 Taler Systems SA + + Taler is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + Taler 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 + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + SPDX-License-Identifier: AGPL3.0-or-later + */ + +/** + * @file util/taler-config.c + * @brief tool to access and manipulate Taler configuration files + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_util_lib.h" + + +/** + * Program to manipulate configuration files. + * + * @param argc number of arguments from the command line + * @param argv command line arguments + * @return 0 ok, 1 on error + */ +int +main (int argc, + char *const *argv) +{ + struct GNUNET_CONFIGURATION_ConfigSettings cs = { + .api_version = GNUNET_UTIL_VERSION, + .global_ret = EXIT_SUCCESS + }; + struct GNUNET_GETOPT_CommandLineOption options[] = { + GNUNET_GETOPT_OPTION_END + }; + enum GNUNET_GenericReturnValue ret; + + if (GNUNET_OK != + GNUNET_STRINGS_get_utf8_args (argc, argv, + &argc, &argv)) + return EXIT_FAILURE; + TALER_OS_init (); + ret = GNUNET_PROGRAM_run (argc, + argv, + "taler-config [OPTIONS]", + gettext_noop ( + "Manipulate Taler configuration files"), + options, + &GNUNET_CONFIGURATION_config_tool_run, + &cs); + GNUNET_free_nz ((void *) argv); + GNUNET_CONFIGURATION_config_settings_free (&cs); + if (GNUNET_NO == ret) + return 0; + if (GNUNET_SYSERR == ret) + return EXIT_INVALIDARGUMENT; + return cs.global_ret; +} + + +/* end of taler-config.c */ |