summaryrefslogtreecommitdiff
path: root/src/rc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rc.c')
-rw-r--r--src/rc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/rc.c b/src/rc.c
index 08d7526..4cb0349 100644
--- a/src/rc.c
+++ b/src/rc.c
@@ -977,8 +977,11 @@ int main (int argc, char **argv)
strcmp (PREVLEVEL, "S") == 0 ||
strcmp (PREVLEVEL, "N") == 0))
{
- if (get_ksoftlevel (ksoftbuffer, sizeof (ksoftbuffer)))
- newlevel = ksoftbuffer;
+ /* Try not to join boot and ksoftlevels together */
+ if (! newlevel ||
+ strcmp (newlevel, getenv ("RC_BOOTLEVEL")) != 0)
+ if (get_ksoftlevel (ksoftbuffer, sizeof (ksoftbuffer)))
+ newlevel = ksoftbuffer;
} else if (! RUNLEVEL ||
(strcmp (RUNLEVEL, "1") != 0 &&
strcmp (RUNLEVEL, "S") != 0 &&