* website/download.htm4, website/download-de.htm4: Added
[gpg4win.git] / patches / sylpheed-claws-2.3.1 / 02-fix-plugin-dir.patch
1 #! /bin/sh
2 patch -p1 -f $* < $0
3 exit $?
4
5 Fix a bug in the W32 plugin directory handling.
6
7 2006-01-09  Werner Koch  <wk@g10code.com>
8
9         * src/common/utils.c (w32_get_locale_dir): Removed.
10         (w32_get_module_dir): New.
11         (get_local_dir): Use new function.
12         (get_plugin_dir): Ditto.
13
14
15 diff -ru sylpheed-claws.orig/src/common/utils.c sylpheed-claws/src/common/utils.c
16 --- sylpheed-claws.orig/src/common/utils.c      2006-01-05 16:36:51.000000000 +0100
17 +++ sylpheed-claws/src/common/utils.c   2006-01-09 18:59:18.000000000 +0100
18 @@ -1980,24 +1980,28 @@
19      return -1;
20  }
21  
22 -/* Return a malloced string with the locale dir.  Return NULL on
23 -   error. */
24 -static char *w32_get_locale_dir(void)
25 -{
26 -        char name[MAX_PATH+35];
27 -        char *p;
28 -
29 -        if ( !GetModuleFileNameA (0, name, sizeof (name)-30) )
30 -                return NULL;
31 -        p = strrchr (name, '\\');
32 -        if (!p)
33 -        {
34 -                *name = '\\';
35 -                p = name;
36 +/* Returns a static string with the directroy from which the module
37 +   has been loaded.  Returns an empty string on error. */
38 +static char *w32_get_module_dir(void)
39 +{
40 +        static char *moddir;
41 +
42 +        if (!moddir) {
43 +                char name[MAX_PATH+10];
44 +                char *p;
45 +
46 +                if ( !GetModuleFileNameA (0, name, sizeof (name)-10) )
47 +                        *name = 0;
48 +                else {
49 +                        p = strrchr (name, '\\');
50 +                        if (p)
51 +                                *p = 0;
52 +                        else
53 +                                *name = 0;
54 +                }
55 +                moddir = g_strdup (name);
56          }
57 -        p++;
58 -        strcpy (p, "\\share\\locale");
59 -        return g_strdup (name);
60 +        return moddir;
61  }
62  #endif /* G_OS_WIN32 */
63  
64 @@ -2008,7 +2012,8 @@
65  
66  #ifdef G_OS_WIN32
67         if (!loc_dir)
68 -                loc_dir = w32_get_locale_dir();
69 +               loc_dir = g_strconcat(w32_get_module_dir(), G_DIR_SEPARATOR_S,
70 +                                      "\\share\\locale", NULL);
71  #endif
72         if (!loc_dir)
73                 loc_dir = LOCALEDIR;
74 @@ -2133,7 +2138,7 @@
75         static gchar *plugin_dir = NULL;
76  
77         if (!plugin_dir)
78 -                plugin_dir = g_strconcat(get_locale_dir(),
79 +                plugin_dir = g_strconcat(w32_get_module_dir(),
80                                           "\\lib\\sylpheed-claws\\plugins\\",
81                                           NULL);
82         return plugin_dir;
83
84