From 3ae2505e90a4b9f81930e1cb8c0bae11e3d30932 Mon Sep 17 00:00:00 2001 From: waker Date: Wed, 4 May 2011 22:26:33 +0200 Subject: added localization support to portable/static builds --- main.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 1764e3f3..f398aaa6 100644 --- a/main.c +++ b/main.c @@ -591,6 +591,15 @@ restore_resume_state (void) { int main (int argc, char *argv[]) { +#if PORTABLE + strcpy (dbinstalldir, argv[0]); + char *e = dbinstalldir + strlen (dbinstalldir); + while (e >= dbinstalldir && *e != '/') { + e--; + } + *e = 0; +#endif + #ifdef __linux__ signal (SIGSEGV, sigsegv_handler); #endif @@ -598,7 +607,13 @@ main (int argc, char *argv[]) { setlocale (LC_NUMERIC, "C"); #ifdef ENABLE_NLS // fprintf (stderr, "enabling gettext support: package=" PACKAGE ", dir=" LOCALEDIR "...\n"); +#if PORTABLE + char localedir[PATH_MAX]; + snprintf (localedir, sizeof (localedir), "%s/locale", dbinstalldir); + bindtextdomain (PACKAGE, localedir); +#else bindtextdomain (PACKAGE, LOCALEDIR); +#endif bind_textdomain_codeset (PACKAGE, "UTF-8"); textdomain (PACKAGE); #endif @@ -618,15 +633,6 @@ main (int argc, char *argv[]) { prctl (PR_SET_NAME, "deadbeef-main", 0, 0, 0, 0); #endif -#if PORTABLE - strcpy (dbinstalldir, argv[0]); - char *e = dbinstalldir + strlen (dbinstalldir); - while (e >= dbinstalldir && *e != '/') { - e--; - } - *e = 0; -#endif - #if PORTABLE_FULL if (snprintf (confdir, sizeof (confdir), "%s/config", dbinstalldir) > sizeof (confdir)) { fprintf (stderr, "fatal: too long install path %s\n", dbinstalldir); -- cgit v1.2.3