chiark / gitweb /
relax unit name rules a bit
[elogind.git] / unit.c
diff --git a/unit.c b/unit.c
index 40761209202455c2efe3056843f077c84771c83a..2f39d887fefff6c93474d96776e8616c82b1f5ce 100644 (file)
--- a/unit.c
+++ b/unit.c
@@ -44,7 +44,7 @@ UnitType unit_name_to_type(const char *n) {
         "0123456789"                            \
         "abcdefghijklmnopqrstuvwxyz"            \
         "ABCDEFGHIJKLMNOPQRSTUVWXYZ"            \
-        "-_"
+        "-_.\\"
 
 bool unit_name_is_valid(const char *n) {
         UnitType t;
@@ -836,6 +836,19 @@ int unit_add_dependency(Unit *u, UnitDependency d, Unit *other) {
         return 0;
 }
 
+int unit_add_dependency_by_name(Unit *u, UnitDependency d, const char *name) {
+        Unit *other;
+        int r;
+
+        if ((r = manager_load_unit(u->meta.manager, name, &other)) < 0)
+                return r;
+
+        if ((r = unit_add_dependency(u, d, other)) < 0)
+                return r;
+
+        return 0;
+}
+
 const char *unit_path(void) {
         char *e;