From c7b56080a9e5dfe7d0245da0fc97056c33451f30 Mon Sep 17 00:00:00 2001 From: Dave Peticolas Date: Thu, 7 Jun 2001 21:56:17 +0000 Subject: [PATCH] 2001-06-07 Dave Peticolas * src/gnome/new-user-callbacks.c (gnc_get_ea_locale_dir): if first check fails, see if 2-letter prefix succeeds git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4522 57a11ea4-9604-0410-9ed3-97b8803252fd --- ChangeLog | 5 +++++ src/gnome/new-user-callbacks.c | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a93dcdf858..bedc3995a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-06-07 Dave Peticolas + + * src/gnome/new-user-callbacks.c (gnc_get_ea_locale_dir): if first + check fails, see if 2-letter prefix succeeds + 2001-06-07 James LewisMoss * doc/README.translator.txt (variables): add instructions for diff --git a/src/gnome/new-user-callbacks.c b/src/gnome/new-user-callbacks.c index 3d4f3b1189..81d30eab2c 100644 --- a/src/gnome/new-user-callbacks.c +++ b/src/gnome/new-user-callbacks.c @@ -202,21 +202,32 @@ gnc_get_ea_locale_dir(const char *top_dir) gchar *ret; gchar *locale; struct stat buf; - + locale = g_strdup(setlocale(LC_MESSAGES, NULL)); ret = g_strdup_printf("%s/%s", top_dir, locale); - g_free(locale); printf("Pondering dir: %s\n", ret); - + + if(stat(ret, &buf) != 0 && (strlen (locale) > 2)) + { + g_free (ret); + locale[2] = '\0'; + ret = g_strdup_printf("%s/%s", top_dir, locale); + } + + printf("Pondering dir: %s\n", ret); + if(stat(ret, &buf) != 0) { + g_free (ret); ret = g_strdup_printf("%s/%s", top_dir, default_locale); } printf("Opening from dir: %s\n", ret); + g_free(locale); + return ret; }