core: split out unit bus path unescaping into unit_name_from_dbus_path()

This commit is contained in:
Lennart Poettering
2013-07-02 01:48:55 +02:00
parent cc23f9f174
commit ede3a79675
3 changed files with 21 additions and 9 deletions
+16
View File
@@ -467,6 +467,22 @@ char *unit_dbus_path_from_name(const char *name) {
return strappend("/org/freedesktop/systemd1/unit/", e);
}
int unit_name_from_dbus_path(const char *path, char **name) {
const char *e;
char *n;
e = startswith(path, "/org/freedesktop/systemd1/unit/");
if (!e)
return -EINVAL;
n = bus_path_unescape(e);
if (!n)
return -ENOMEM;
*name = n;
return 0;
}
char *unit_name_mangle(const char *name) {
char *r, *t;
const char *f;
+1
View File
@@ -95,6 +95,7 @@ char *unit_name_from_path_instance(const char *prefix, const char *path, const c
char *unit_name_to_path(const char *name);
char *unit_dbus_path_from_name(const char *name);
int unit_name_from_dbus_path(const char *path, char **name);
char *unit_name_mangle(const char *name);
char *unit_name_mangle_with_suffix(const char *name, const char *suffix);