diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-05-24 22:32:09 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-05-24 22:32:49 +0200 |
commit | 723c83fd051e2c3a195251cc0bd1313cb6bcf729 (patch) | |
tree | 6c2f82ce1cf59e393e517b636151cfc32cfb75c1 /src/service.c | |
parent | eeb7229cba8ef6445a9fc5ca2b0da06453d616af (diff) |
service: interpret Debian-style X-Interactive LSB header field
Diffstat (limited to 'src/service.c')
-rw-r--r-- | src/service.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 3fbc0acda1..8ff7b73138 100644 --- a/src/service.c +++ b/src/service.c @@ -599,6 +599,19 @@ static int service_load_sysv_path(Service *s, const char *path) { u->meta.description = d; + } else if (startswith_no_case(t, "X-Interactive:")) { + int b; + + if ((b = parse_boolean(strstrip(t+14))) < 0) { + log_warning("[%s:%u] Couldn't parse interactive flag. Ignoring.", path, line); + continue; + } + + if (b) + s->exec_context.std_input = EXEC_INPUT_TTY; + else + s->exec_context.std_input = EXEC_INPUT_NULL; + } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { |