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
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
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
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
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;
}