aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2006-06-15 22:28:48 +0800
committerTor Lillqvist <tml@src.gnome.org>2006-06-15 22:28:48 +0800
commita7426478fa6b489286552884eee1a270f529da42 (patch)
tree61cfeb60a4efcb80b272f6ebd5a7c643dc33ece2
parent977bf8afb9348dfd57cf622969c1f69d7ac877f8 (diff)
downloadgsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.tar
gsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.tar.gz
gsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.tar.bz2
gsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.tar.lz
gsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.tar.xz
gsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.tar.zst
gsoc2013-evolution-a7426478fa6b489286552884eee1a270f529da42.zip
On Win32, NSS wants filenames in system codepage, so convert UTF-8
2006-06-15 Tor Lillqvist <tml@novell.com> * lib/e-cert-db.c (initialize_nss): On Win32, NSS wants filenames in system codepage, so convert UTF-8 filename to system codepage. svn path=/trunk/; revision=32157
-rw-r--r--smime/ChangeLog5
-rw-r--r--smime/lib/e-cert-db.c14
2 files changed, 18 insertions, 1 deletions
diff --git a/smime/ChangeLog b/smime/ChangeLog
index a501fcd8c7..ebb0e67a6a 100644
--- a/smime/ChangeLog
+++ b/smime/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-15 Tor Lillqvist <tml@novell.com>
+
+ * lib/e-cert-db.c (initialize_nss): On Win32, NSS wants filenames
+ in system codepage, so convert UTF-8 filename to system codepage.
+
2006-01-30 Tor Lillqvist <tml@novell.com>
* lib/e-cert-db.c (install_loadable_roots): On Win32, don't bother
diff --git a/smime/lib/e-cert-db.c b/smime/lib/e-cert-db.c
index de310ab4be..a735d57201 100644
--- a/smime/lib/e-cert-db.c
+++ b/smime/lib/e-cert-db.c
@@ -177,7 +177,19 @@ initialize_nss (void)
char *evolution_dir_path;
gboolean success;
- evolution_dir_path = g_build_path ("/", g_get_home_dir (), ".evolution", NULL);
+ evolution_dir_path = g_build_filename (g_get_home_dir (), ".evolution", NULL);
+
+#ifdef G_OS_WIN32
+ /* NSS wants filenames in system codepage */
+ {
+ char *cp_path = g_win32_locale_filename_from_utf8 (evolution_dir_path);
+
+ if (cp_path) {
+ g_free (evolution_dir_path);
+ evolution_dir_path = cp_path;
+ }
+ }
+#endif
/* we initialize NSS here to make sure it only happens once */
success = (SECSuccess == NSS_InitReadWrite (evolution_dir_path));