projects
/
connman
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3879bf3
)
Fix handling of networks without a group name
author
Marcel Holtmann
<marcel@holtmann.org>
Wed, 22 Apr 2009 15:33:12 +0000
(16:33 +0100)
committer
Marcel Holtmann
<marcel@holtmann.org>
Wed, 22 Apr 2009 15:33:12 +0000
(16:33 +0100)
src/service.c
patch
|
blob
|
history
diff --git
a/src/service.c
b/src/service.c
index
7a8d14f
..
b9f657e
100644
(file)
--- a/
src/service.c
+++ b/
src/service.c
@@
-592,11
+592,15
@@
static int service_register(struct connman_service *service)
{
const char *path = __connman_profile_active();
{
const char *path = __connman_profile_active();
+ DBG("service %p", service);
+
if (service->path != NULL)
return -EALREADY;
service->path = g_strdup_printf("%s/%s", path, service->identifier);
if (service->path != NULL)
return -EALREADY;
service->path = g_strdup_printf("%s/%s", path, service->identifier);
+ DBG("path %s", service->path);
+
g_dbus_register_interface(connection, service->path,
CONNMAN_SERVICE_INTERFACE,
service_methods, service_signals,
g_dbus_register_interface(connection, service->path,
CONNMAN_SERVICE_INTERFACE,
service_methods, service_signals,
@@
-696,10
+700,15
@@
done:
struct connman_service *__connman_service_lookup_from_network(struct connman_network *network)
{
struct connman_service *service;
struct connman_service *__connman_service_lookup_from_network(struct connman_network *network)
{
struct connman_service *service;
+ const char *group;
char *name;
char *name;
- name = g_strdup_printf("%s_%s", __connman_network_get_type(network),
- __connman_network_get_group(network));
+ group = __connman_network_get_group(network);
+ if (group == NULL)
+ return NULL;
+
+ name = g_strdup_printf("%s_%s",
+ __connman_network_get_type(network), group);
service = connman_service_lookup(name);
service = connman_service_lookup(name);
@@
-737,10
+746,15
@@
static enum connman_service_type convert_network_type(struct connman_network *ne
struct connman_service *__connman_service_create_from_network(struct connman_network *network)
{
struct connman_service *service;
struct connman_service *__connman_service_create_from_network(struct connman_network *network)
{
struct connman_service *service;
+ const char *group;
char *name;
char *name;
- name = g_strdup_printf("%s_%s", __connman_network_get_type(network),
- __connman_network_get_group(network));
+ group = __connman_network_get_group(network);
+ if (group == NULL)
+ return NULL;
+
+ name = g_strdup_printf("%s_%s",
+ __connman_network_get_type(network), group);
service = connman_service_get(name);
if (service == NULL)
service = connman_service_get(name);
if (service == NULL)