diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-03-04 08:08:45 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-03-04 08:08:45 +0000 |
commit | 05a8ed11346e0f53fbb5edb8eb7d274b49f82f9b (patch) | |
tree | 9a3511d8f01b05237d88c95ead9e37fc6d175a39 /client | |
parent | 92c31b841bca8e77c296ce4d9e9292e89c6407de (diff) | |
download | gvfs-05a8ed11346e0f53fbb5edb8eb7d274b49f82f9b.tar.gz |
Avoid duplications in supported_uris.
2008-03-04 Alexander Larsson <alexl@redhat.com>
* client/gdaemonvfs.c:
Avoid duplications in supported_uris.
* daemon/smb-browse.mount.in:
* daemon/smb.mount.in:
Add scheme info so smb is listed in supported_uris again.
svn path=/trunk/; revision=1517
Diffstat (limited to 'client')
-rw-r--r-- | client/gdaemonvfs.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/client/gdaemonvfs.c b/client/gdaemonvfs.c index 736cec97..6e70a41e 100644 --- a/client/gdaemonvfs.c +++ b/client/gdaemonvfs.c @@ -524,6 +524,23 @@ _g_daemon_vfs_mountspec_get_uri_scheme (GMountSpec *spec) return scheme; } +static int +find_string (GPtrArray *array, const char *find_me) +{ + int i; + + g_return_val_if_fail (find_me != NULL, -1); + + for (i = 0; i < array->len; ++i) + { + if (strcmp (g_ptr_array_index (array, i), find_me) == 0) + return i; + } + + return -1; +} + + static void fill_mountable_info (GDaemonVfs *vfs) { @@ -593,7 +610,8 @@ fill_mountable_info (GDaemonVfs *vfs) if (*scheme != 0) { info->scheme = g_strdup (scheme); - g_ptr_array_add (uri_schemes, g_strdup (scheme)); + if (find_string (uri_schemes, scheme) == -1) + g_ptr_array_add (uri_schemes, g_strdup (scheme)); } if (scheme_aliases_len > 0) @@ -602,7 +620,8 @@ fill_mountable_info (GDaemonVfs *vfs) for (i = 0; i < scheme_aliases_len; i++) { info->scheme_aliases[i] = g_strdup (scheme_aliases[i]); - g_ptr_array_add (uri_schemes, g_strdup (scheme_aliases[i])); + if (find_string (uri_schemes, scheme_aliases[i]) == -1) + g_ptr_array_add (uri_schemes, g_strdup (scheme_aliases[i])); } info->scheme_aliases[scheme_aliases_len] = NULL; } |