summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2008-03-04 08:08:45 +0000
committerAlexander Larsson <alexl@src.gnome.org>2008-03-04 08:08:45 +0000
commit05a8ed11346e0f53fbb5edb8eb7d274b49f82f9b (patch)
tree9a3511d8f01b05237d88c95ead9e37fc6d175a39 /client
parent92c31b841bca8e77c296ce4d9e9292e89c6407de (diff)
downloadgvfs-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.c23
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;
}