From f6f8d466bd6ce5f737d66a076c1f9e40d8ec9d7f Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 10 Feb 2015 16:36:58 +0100 Subject: [PATCH] networkd: network-bus - use sd_bus_path_{en,de}code --- src/network/networkd-network-bus.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/network/networkd-network-bus.c b/src/network/networkd-network-bus.c index a167857e7..6e7cbc5a4 100644 --- a/src/network/networkd-network-bus.c +++ b/src/network/networkd-network-bus.c @@ -40,10 +40,9 @@ const sd_bus_vtable network_vtable[] = { }; static char *network_bus_path(Network *network) { - _cleanup_free_ char *e = NULL; _cleanup_free_ char *name = NULL; - char *networkname; - char *d; + char *networkname, *d, *path; + int r; assert(network); assert(network->filename); @@ -62,11 +61,11 @@ static char *network_bus_path(Network *network) { *d = '\0'; - e = bus_label_escape(networkname); - if (!e) + r = sd_bus_path_encode("/org/freedesktop/network1/network", networkname, &path); + if (r < 0) return NULL; - return strappend("/org/freedesktop/network1/network/", e); + return path; } int network_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) { @@ -102,7 +101,6 @@ int network_object_find(sd_bus *bus, const char *path, const char *interface, vo Manager *m = userdata; Network *network; _cleanup_free_ char *name = NULL; - _cleanup_free_ char *e = NULL; int r; assert(bus); @@ -111,14 +109,11 @@ int network_object_find(sd_bus *bus, const char *path, const char *interface, vo assert(m); assert(found); - if (sscanf(path, "/org/freedesktop/network1/network/%ms", &name) != 1) + r = sd_bus_path_decode(path, "/org/freedesktop/network1/network", &name); + if (r < 0) return 0; - e = bus_label_unescape(name); - if (!e) - return -ENOMEM; - - r = network_get_by_name(m, e, &network); + r = network_get_by_name(m, name, &network); if (r < 0) return 0; -- 2.30.2