summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlessio Vanni <vannilla@firemail.cc>2019-09-07 13:18:07 +0200
committerChristian Grothoff <christian@grothoff.org>2019-09-07 15:01:43 +0200
commit56567f6f8780627387aeba24a18b382f07cea072 (patch)
treecf86820937a44c529148bd33b9d8b3aedc1bbf16 /src
parentf230357abbf514b19fd476de456b3e87c15376a5 (diff)
downloadgnunet-56567f6f8780627387aeba24a18b382f07cea072.tar.gz
gnunet-56567f6f8780627387aeba24a18b382f07cea072.zip
Make services localizable
Signed-off-by: Christian Grothoff <christian@grothoff.org>
Diffstat (limited to 'src')
-rw-r--r--src/util/service.c26
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;