diff options
author | Alessio Vanni <vannilla@firemail.cc> | 2019-09-07 13:18:07 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-09-07 15:01:43 +0200 |
commit | 56567f6f8780627387aeba24a18b382f07cea072 (patch) | |
tree | cf86820937a44c529148bd33b9d8b3aedc1bbf16 /src/util | |
parent | f230357abbf514b19fd476de456b3e87c15376a5 (diff) | |
download | gnunet-56567f6f8780627387aeba24a18b382f07cea072.tar.gz gnunet-56567f6f8780627387aeba24a18b382f07cea072.zip |
Make services localizable
Signed-off-by: Christian Grothoff <christian@grothoff.org>
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/service.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/util/service.c b/src/util/service.c index fba5a2f20..5986b0158 100644 --- a/src/util/service.c +++ b/src/util/service.c | |||
@@ -2067,6 +2067,9 @@ GNUNET_SERVICE_run_ (int argc, | |||
2067 | const struct GNUNET_MQ_MessageHandler *handlers) | 2067 | const struct GNUNET_MQ_MessageHandler *handlers) |
2068 | { | 2068 | { |
2069 | struct GNUNET_SERVICE_Handle sh; | 2069 | struct GNUNET_SERVICE_Handle sh; |
2070 | #if ENABLE_NLS | ||
2071 | char *path; | ||
2072 | #endif | ||
2070 | char *cfg_filename; | 2073 | char *cfg_filename; |
2071 | char *opt_cfg_filename; | 2074 | char *opt_cfg_filename; |
2072 | char *loglev; | 2075 | char *loglev; |
@@ -2079,6 +2082,7 @@ GNUNET_SERVICE_run_ (int argc, | |||
2079 | struct GNUNET_CONFIGURATION_Handle *cfg; | 2082 | struct GNUNET_CONFIGURATION_Handle *cfg; |
2080 | int ret; | 2083 | int ret; |
2081 | int err; | 2084 | int err; |
2085 | const struct GNUNET_OS_ProjectData *pd = GNUNET_OS_project_data_get (); | ||
2082 | 2086 | ||
2083 | struct GNUNET_GETOPT_CommandLineOption service_options[] = | 2087 | struct GNUNET_GETOPT_CommandLineOption service_options[] = |
2084 | {GNUNET_GETOPT_option_cfgfile (&opt_cfg_filename), | 2088 | {GNUNET_GETOPT_option_cfgfile (&opt_cfg_filename), |
@@ -2090,7 +2094,7 @@ GNUNET_SERVICE_run_ (int argc, | |||
2090 | GNUNET_GETOPT_option_help (NULL), | 2094 | GNUNET_GETOPT_option_help (NULL), |
2091 | GNUNET_GETOPT_option_loglevel (&loglev), | 2095 | GNUNET_GETOPT_option_loglevel (&loglev), |
2092 | GNUNET_GETOPT_option_logfile (&logfile), | 2096 | GNUNET_GETOPT_option_logfile (&logfile), |
2093 | GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION), | 2097 | GNUNET_GETOPT_option_version (pd->version), |
2094 | GNUNET_GETOPT_OPTION_END}; | 2098 | GNUNET_GETOPT_OPTION_END}; |
2095 | 2099 | ||
2096 | err = 1; | 2100 | err = 1; |
@@ -2101,10 +2105,9 @@ GNUNET_SERVICE_run_ (int argc, | |||
2101 | "%s%s%s", | 2105 | "%s%s%s", |
2102 | xdg, | 2106 | xdg, |
2103 | DIR_SEPARATOR_STR, | 2107 | DIR_SEPARATOR_STR, |
2104 | GNUNET_OS_project_data_get ()->config_file); | 2108 | pd->config_file); |
2105 | else | 2109 | else |
2106 | cfg_filename = | 2110 | cfg_filename = GNUNET_strdup (pd->user_config_file); |
2107 | GNUNET_strdup (GNUNET_OS_project_data_get ()->user_config_file); | ||
2108 | sh.ready_confirm_fd = -1; | 2111 | sh.ready_confirm_fd = -1; |
2109 | sh.options = options; | 2112 | sh.options = options; |
2110 | sh.cfg = cfg = GNUNET_CONFIGURATION_create (); | 2113 | sh.cfg = cfg = GNUNET_CONFIGURATION_create (); |
@@ -2120,6 +2123,21 @@ GNUNET_SERVICE_run_ (int argc, | |||
2120 | logfile = NULL; | 2123 | logfile = NULL; |
2121 | opt_cfg_filename = NULL; | 2124 | opt_cfg_filename = NULL; |
2122 | do_daemonize = 0; | 2125 | do_daemonize = 0; |
2126 | #if ENABLE_NLS | ||
2127 | if (NULL != pd->gettext_domain) | ||
2128 | { | ||
2129 | setlocale (LC_ALL, ""); | ||
2130 | path = (NULL == pd->gettext_path) ? | ||
2131 | GNUNET_OS_installation_get_path (GNUNET_OS_IPK_LOCALEDIR) : | ||
2132 | GNUNET_strdup (pd->gettext_path); | ||
2133 | if (NULL != path) | ||
2134 | { | ||
2135 | bindtextdomain (pd->gettext_domain, path); | ||
2136 | GNUNET_free (path); | ||
2137 | } | ||
2138 | textdomain (pd->gettext_domain); | ||
2139 | } | ||
2140 | #endif | ||
2123 | ret = GNUNET_GETOPT_run (service_name, service_options, argc, argv); | 2141 | ret = GNUNET_GETOPT_run (service_name, service_options, argc, argv); |
2124 | if (GNUNET_SYSERR == ret) | 2142 | if (GNUNET_SYSERR == ret) |
2125 | goto shutdown; | 2143 | goto shutdown; |