X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fsysv-generator%2Fsysv-generator.c;h=368d420df3bb450dd59645cb0e6f9a2cfa512231;hp=9a869badcade5f65fa967e48860c07962d75acc3;hb=b2fadec6048adb3596f2633cb7fe7a49f5937a18;hpb=805b573fad06b845502e76f3db3a0efa7583149d diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c index 9a869badc..368d420df 100644 --- a/src/sysv-generator/sysv-generator.c +++ b/src/sysv-generator/sysv-generator.c @@ -442,15 +442,15 @@ static int load_sysv(SysvStub *s) { } else if (state == LSB || state == LSB_DESCRIPTION) { if (startswith_no_case(t, "Provides:")) { - char *i, *w; + const char *word, *state_; size_t z; state = LSB; - FOREACH_WORD_QUOTED(w, z, t+9, i) { + FOREACH_WORD_QUOTED(word, z, t+9, state_) { _cleanup_free_ char *n = NULL, *m = NULL; - n = strndup(w, z); + n = strndup(word, z); if (!n) return -ENOMEM; @@ -494,21 +494,25 @@ static int load_sysv(SysvStub *s) { "[%s:%u] Failed to add LSB Provides name %s, ignoring: %s", s->path, line, m, strerror(-r)); } + if (!isempty(state_)) + log_error_unit(s->name, + "[%s:%u] Trailing garbage in Provides, ignoring.", + s->path, line); } else if (startswith_no_case(t, "Required-Start:") || startswith_no_case(t, "Should-Start:") || startswith_no_case(t, "X-Start-Before:") || startswith_no_case(t, "X-Start-After:")) { - char *i, *w; + const char *word, *state_; size_t z; state = LSB; - FOREACH_WORD_QUOTED(w, z, strchr(t, ':')+1, i) { + FOREACH_WORD_QUOTED(word, z, strchr(t, ':')+1, state_) { _cleanup_free_ char *n = NULL, *m = NULL; bool is_before; - n = strndup(w, z); + n = strndup(word, z); if (!n) return -ENOMEM; @@ -552,6 +556,11 @@ static int load_sysv(SysvStub *s) { "[%s:%u] Failed to add dependency on %s, ignoring: %s", s->path, line, m, strerror(-r)); } + if (!isempty(state_)) + log_error_unit(s->name, + "[%s:%u] Trailing garbage in %*s, ignoring.", + s->path, line, + (int)(strchr(t, ':') - t), t); } else if (startswith_no_case(t, "Description:")) { char *d, *j;