chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journald: properly update message size after stripping the identifier
[elogind.git]
/
src
/
shared
/
unit-name.c
diff --git
a/src/shared/unit-name.c
b/src/shared/unit-name.c
index 71937187922835fb3fcf3d6c3c8037356f0bfa9d..cfe3133b5ae58fa4538af335f965fbf79d04f53b 100644
(file)
--- a/
src/shared/unit-name.c
+++ b/
src/shared/unit-name.c
@@
-357,36
+357,29
@@
bool unit_name_is_instance(const char *n) {
char *unit_name_replace_instance(const char *f, const char *i) {
const char *p, *e;
char *r, *k;
char *unit_name_replace_instance(const char *f, const char *i) {
const char *p, *e;
char *r, *k;
- size_t a;
+ size_t a
, b
;
assert(f);
p = strchr(f, '@');
assert(f);
p = strchr(f, '@');
- assert_se(e = strrchr(f, '.'));
-
- a = p - f;
-
- if (p) {
- size_t b;
-
- b = strlen(i);
-
- r = new(char, a + 1 + b + strlen(e) + 1);
- if (!r)
- return NULL;
+ if (!p)
+ return strdup(f);
-
k = mempcpy(r, f, a + 1
);
- k = mempcpy(k, i, b);
- } else {
+
e = strrchr(f, '.'
);
+ if (!e)
+ assert_se(e = strchr(f, 0));
- r = new(char, a + strlen(e) + 1);
- if (!r)
- return NULL;
+ a = p - f;
+ b = strlen(i);
- k = mempcpy(r, f, a);
- }
+ r = new(char, a + 1 + b + strlen(e) + 1);
+ if (!r)
+ return NULL;
+ k = mempcpy(r, f, a + 1);
+ k = mempcpy(k, i, b);
strcpy(k, e);
strcpy(k, e);
+
return r;
}
return r;
}
@@
-484,8
+477,7
@@
char *unit_name_mangle(const char *name) {
/* Try to turn a string that might not be a unit name into a
* sensible unit name. */
/* Try to turn a string that might not be a unit name into a
* sensible unit name. */
- if (path_startswith(name, "/dev/") ||
- path_startswith(name, "/sys/"))
+ if (is_device_path(name))
return unit_name_from_path(name, ".device");
if (path_is_absolute(name))
return unit_name_from_path(name, ".device");
if (path_is_absolute(name))