From 07f489a1259d4cf1cd746aecf161063e1759fe07 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 8 Jul 2005 02:19:26 +0000 Subject: [PATCH] 2005-07-07 Dan Williams Patch from Derek Atkins * src/nm-dbus-net.c: - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@791 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 6 ++++++ src/nm-dbus-net.c | 15 +++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 498a48ec1a..f8aed8ac58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-07-07 Dan Williams + + Patch from Derek Atkins + * src/nm-dbus-net.c: + - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs + 2005-07-07 Dan Williams Patch from Jos Dehaes diff --git a/src/nm-dbus-net.c b/src/nm-dbus-net.c index f3e1dcf6dd..4ff3807eea 100644 --- a/src/nm-dbus-net.c +++ b/src/nm-dbus-net.c @@ -52,14 +52,21 @@ static NMAccessPoint *nm_dbus_get_ap_from_object_path (const char *path, NMDevic while ((ap = nm_ap_list_iter_next (iter))) { + int len; + snprintf (compare_path, 100, "%s/%s/Networks/%s", NM_DBUS_PATH_DEVICES, nm_device_get_iface (dev), nm_ap_get_essid (ap)); escaped_compare_path = nm_dbus_escape_object_path (compare_path); - if (strncmp (path, escaped_compare_path, - strlen (escaped_compare_path)) == 0) + + len = strlen(escaped_compare_path); + if (strncmp (path, escaped_compare_path, len) == 0) { - g_free (escaped_compare_path); - break; + /* Differentiate between 'foo' and 'foo-a' */ + if (path[len] == '\0' || path[len] == '/') + { + g_free (escaped_compare_path); + break; + } } g_free (escaped_compare_path); }