Diff between a7100576de83c5edeb9883861e5185c2e02398bb and 7fdf709d14347f6e937d5c0f97ee6c0f5958b30d

Changed Files

File Additions Deletions Status
obexd/src/mimetype.c +0 -12 modified
obexd/src/obex.c +11 -0 modified
obexd/src/obex.h +3 -0 modified
obexd/src/service.c +2 -9 modified

Full Patch

diff --git a/obexd/src/mimetype.c b/obexd/src/mimetype.c
index 27acf5f..4ec7665 100644
--- a/obexd/src/mimetype.c
+++ b/obexd/src/mimetype.c
@@ -46,18 +46,6 @@ struct io_watch {
 	gpointer user_data;
 };
 
-/* Just thin wrapper around memcmp to deal with NULL values */
-static int memcmp0(const void *a, const void *b, size_t n)
-{
-	if (a == NULL)
-		return -(a != b);
-
-	if (b == NULL)
-		return a != b;
-
-	return memcmp(a, b, n);
-}
-
 void obex_object_set_io_flags(gpointer object, int flags, int err)
 {
 	GSList *l;
diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index 9fc7d37..cd52fb9 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
@@ -1197,3 +1197,14 @@ ssize_t obex_aparam_read(struct obex_session *os,
 
 	return -EBADR;
 }
+
+int memcmp0(const void *a, const void *b, size_t n)
+{
+	if (a == NULL)
+		return -(a != b);
+
+	if (b == NULL)
+		return a != b;
+
+	return memcmp(a, b, n);
+}
diff --git a/obexd/src/obex.h b/obexd/src/obex.h
index 6c9ba4b..dd5343c 100644
--- a/obexd/src/obex.h
+++ b/obexd/src/obex.h
@@ -63,3 +63,6 @@ int tty_init(gint service, const gchar *folder, const gchar *capability,
 		gboolean symlinks, const gchar *devnode);
 gint obex_tty_session_stop(void);
 void tty_closed(void);
+
+/* Just a thin wrapper around memcmp to deal with NULL values */
+int memcmp0(const void *a, const void *b, size_t n);
diff --git a/obexd/src/service.c b/obexd/src/service.c
index 7093f30..ad0889d 100644
--- a/obexd/src/service.c
+++ b/obexd/src/service.c
@@ -47,17 +47,10 @@ struct obex_service_driver *obex_service_driver_find(GSList *list,
 	for (l = list; l; l = l->next) {
 		struct obex_service_driver *driver = l->data;
 
-		if (driver->who && who &&
-				(driver->who_size != who_size ||
-				memcmp(driver->who, who, who_size) != 0))
+		if (memcmp0(who, driver->who, who_size))
 			continue;
 
-		if (driver->target == NULL && target == NULL)
-			return driver;
-
-		if (driver->target && target &&
-				driver->target_size == target_size &&
-				memcmp(driver->target, target, target_size) == 0)
+		if (memcmp0(target, driver->target, target_size) == 0)
 			return driver;
 	}