chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: add new "scope" unit type for making a unit of pre-existing processes
[elogind.git]
/
src
/
shared
/
unit-name.c
diff --git
a/src/shared/unit-name.c
b/src/shared/unit-name.c
index a809713595f69b10849f97c9a0e7637c9f77ac59..f2c30a6e4f7333c5e1f56d30ef331be423306d17 100644
(file)
--- a/
src/shared/unit-name.c
+++ b/
src/shared/unit-name.c
@@
-44,6
+44,8
@@
static const char* const unit_type_table[_UNIT_TYPE_MAX] = {
[UNIT_TIMER] = "timer",
[UNIT_SWAP] = "swap",
[UNIT_PATH] = "path",
[UNIT_TIMER] = "timer",
[UNIT_SWAP] = "swap",
[UNIT_PATH] = "path",
+ [UNIT_SLICE] = "slice",
+ [UNIT_SCOPE] = "scope"
};
DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType);
};
DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType);
@@
-51,6
+53,7
@@
DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType);
static const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = {
[UNIT_STUB] = "stub",
[UNIT_LOADED] = "loaded",
static const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = {
[UNIT_STUB] = "stub",
[UNIT_LOADED] = "loaded",
+ [UNIT_NOT_FOUND] = "not-found",
[UNIT_ERROR] = "error",
[UNIT_MERGED] = "merged",
[UNIT_MASKED] = "masked"
[UNIT_ERROR] = "error",
[UNIT_MERGED] = "merged",
[UNIT_MASKED] = "masked"
@@
-184,6
+187,7
@@
char *unit_name_change_suffix(const char *n, const char *suffix) {
assert(n);
assert(unit_name_is_valid(n, true));
assert(suffix);
assert(n);
assert(unit_name_is_valid(n, true));
assert(suffix);
+ assert(suffix[0] == '.');
assert_se(e = strrchr(n, '.'));
a = e - n;
assert_se(e = strrchr(n, '.'));
a = e - n;
@@
-401,7
+405,6
@@
char *unit_name_template(const char *f) {
strcpy(mempcpy(r, f, a), e);
return r;
strcpy(mempcpy(r, f, a), e);
return r;
-
}
char *unit_name_from_path(const char *path, const char *suffix) {
}
char *unit_name_from_path(const char *path, const char *suffix) {
@@
-453,7
+456,7
@@
char *unit_name_to_path(const char *name) {
}
char *unit_dbus_path_from_name(const char *name) {
}
char *unit_dbus_path_from_name(const char *name) {
-
char *e, *p
;
+
_cleanup_free_ char *e = NULL
;
assert(name);
assert(name);
@@
-461,10
+464,7
@@
char *unit_dbus_path_from_name(const char *name) {
if (!e)
return NULL;
if (!e)
return NULL;
- p = strappend("/org/freedesktop/systemd1/unit/", e);
- free(e);
-
- return p;
+ return strappend("/org/freedesktop/systemd1/unit/", e);
}
char *unit_name_mangle(const char *name) {
}
char *unit_name_mangle(const char *name) {
@@
-506,16
+506,18
@@
char *unit_name_mangle(const char *name) {
return r;
}
return r;
}
-char *
snapshot_name_mangle(const char *name
) {
+char *
unit_name_mangle_with_suffix(const char *name, const char *suffix
) {
char *r, *t;
const char *f;
assert(name);
char *r, *t;
const char *f;
assert(name);
+ assert(suffix);
+ assert(suffix[0] == '.');
/* Similar to unit_name_mangle(), but is called when we know
* that this is about snapshot units. */
/* Similar to unit_name_mangle(), but is called when we know
* that this is about snapshot units. */
- r = new(char, strlen(name) * 4 +
1 + sizeof(".snapshot")-
1);
+ r = new(char, strlen(name) * 4 +
strlen(suffix) +
1);
if (!r)
return NULL;
if (!r)
return NULL;
@@
-528,8
+530,8
@@
char *snapshot_name_mangle(const char *name) {
*(t++) = *f;
}
*(t++) = *f;
}
- if (!endswith(name,
".snapshot"
))
- strcpy(t,
".snapshot"
);
+ if (!endswith(name,
suffix
))
+ strcpy(t,
suffix
);
else
*t = 0;
else
*t = 0;