1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00

unit-name: fix detection of unit templates/instances

We need to check for the last dot, not the first one in a unit name, for
the suffix. Correct that.
This commit is contained in:
Lennart Poettering 2014-06-16 17:01:26 +02:00
parent e94b5a7bc2
commit 6ef9eeed61
Notes: Zbigniew Jędrzejewski-Szmek 2014-06-22 11:44:06 -04:00
Backport: bugfix

View File

@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) {
} }
bool unit_name_is_template(const char *n) { bool unit_name_is_template(const char *n) {
const char *p; const char *p, *e;
assert(n); assert(n);
@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) {
if (!p) if (!p)
return false; return false;
return p[1] == '.'; e = strrchr(p+1, '.');
if (!e)
return false;
return e == p + 1;
} }
bool unit_name_is_instance(const char *n) { bool unit_name_is_instance(const char *n) {
const char *p; const char *p, *e;
assert(n); assert(n);
@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) {
if (!p) if (!p)
return false; return false;
return p[1] != '.'; e = strrchr(p+1, '.');
if (!e)
return false;
return e > p + 1;
} }
char *unit_name_replace_instance(const char *f, const char *i) { char *unit_name_replace_instance(const char *f, const char *i) {