From: Lennart Poettering Date: Tue, 3 Nov 2015 12:04:06 +0000 (+0100) Subject: Merge pull request #1744 from evverx/fix-debug-generator X-Git-Tag: v228~105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ba576d0e698aebd153c4276aa024dcc5fc99525;p=thirdparty%2Fsystemd.git Merge pull request #1744 from evverx/fix-debug-generator debug-generator: respect kernel parameters for default unit setting --- 8ba576d0e698aebd153c4276aa024dcc5fc99525 diff --cc src/basic/proc-cmdline.c index 778c9945018,f9f98af473a..4464573c5b6 --- a/src/basic/proc-cmdline.c +++ b/src/basic/proc-cmdline.c @@@ -141,5 -142,33 +142,33 @@@ int shall_restore_state(void) if (r == 0) return true; - return parse_boolean(value) != 0; + return parse_boolean(value); } + + static const char * const rlmap[] = { + "emergency", SPECIAL_EMERGENCY_TARGET, + "-b", SPECIAL_EMERGENCY_TARGET, + "rescue", SPECIAL_RESCUE_TARGET, + "single", SPECIAL_RESCUE_TARGET, + "-s", SPECIAL_RESCUE_TARGET, + "s", SPECIAL_RESCUE_TARGET, + "S", SPECIAL_RESCUE_TARGET, + "1", SPECIAL_RESCUE_TARGET, + "2", SPECIAL_MULTI_USER_TARGET, + "3", SPECIAL_MULTI_USER_TARGET, + "4", SPECIAL_MULTI_USER_TARGET, + "5", SPECIAL_GRAPHICAL_TARGET, + }; + + const char* runlevel_to_target(const char *word) { + size_t i; + + if (!word) + return NULL; + + for (i = 0; i < ELEMENTSOF(rlmap); i += 2) + if (streq(word, rlmap[i])) + return rlmap[i+1]; + + return NULL; + }