]> git.pld-linux.org Git - packages/gnome-vfs2.git/blob - gnome-vfs2-smb_cache_lookup_fix.patch
- bugfixes for smb and ftp methods
[packages/gnome-vfs2.git] / gnome-vfs2-smb_cache_lookup_fix.patch
1 Index: modules/smb-method.c
2 ===================================================================
3 RCS file: /cvs/gnome/gnome-vfs/modules/smb-method.c,v
4 retrieving revision 1.36
5 diff -u -p -r1.36 smb-method.c
6 --- modules/smb-method.c        28 Feb 2006 12:27:35 -0000      1.36
7 +++ modules/smb-method.c        30 Mar 2006 12:55:22 -0000
8 @@ -190,6 +188,14 @@ string_ndup_nzero (const gchar *s, const
9                 return NULL;
10         return g_strndup (s, n);
11  }
12 +
13 +static const char*
14 +string_nzero  (const gchar *s)
15 +{
16 +       if (!s || !s[0])
17 +               return NULL;
18 +       return s;
19 +}
20                    
21  static gboolean
22  string_compare (const char *a, const char *b)
23 @@ -384,10 +390,11 @@ find_cached_server (const char *server_n
24  
25         DEBUG_SMB(("find_cached_server: server: %s, share: %s, domain: %s, user: %s\n", server_name, share_name, domain, username));
26  
27 -       entry.server_name = (char *)server_name;
28 -       entry.share_name = (char *)share_name;
29 -       entry.domain = (char *)domain;
30 -       entry.username = (char *)username;
31 +       /* "" must be treated as NULL, because add_cached_server() uses string_dup_nzero() */
32 +       entry.server_name = (char *) string_nzero (server_name);
33 +       entry.share_name = (char *) string_nzero (share_name);
34 +       entry.domain = (char *) string_nzero (domain);
35 +       entry.username = (char *) string_nzero (username);
36  
37         res = g_hash_table_lookup (server_cache, &entry);
38  
This page took 0.02295 seconds and 3 git commands to generate.