From c86713cf7417cd985e2e812fd27132ae729b3bfb Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 7 Oct 2001 19:47:11 +0000 Subject: 2001-10-07 Roland McGrath * kern/bootstrap.c (bootstrap_create): Fix inverted test logic for compatibility case. Ignore trailing newlines after space for compatibility detection. Reported by Neal H Walfield . --- kern/bootstrap.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'kern') diff --git a/kern/bootstrap.c b/kern/bootstrap.c index 2d9e456..bef281b 100644 --- a/kern/bootstrap.c +++ b/kern/bootstrap.c @@ -99,28 +99,24 @@ void bootstrap_create() { struct multiboot_module *bmods = ((struct multiboot_module *) phystokv(boot_info.mods_addr)); - char *p; + int compat; if (!(boot_info.flags & MULTIBOOT_MODS) || (boot_info.mods_count == 0)) panic ("No bootstrap code loaded with the kernel!"); - if (boot_info.mods_count == 1) + compat = boot_info.mods_count == 1; + if (compat) { - p = strchr((char*)phystokv(bmods[0].string), ' '); + char *p = strchr((char*)phystokv(bmods[0].string), ' '); if (p != 0) - { - do - ++p; - while (*p == ' '); - if (*p == '\0') - p = 0; - } + do + ++p; + while (*p == ' ' || *p == '\n'); + compat = p == 0 || *p == '\0'; } - else - p = 0; - if (p == 0) + if (compat) { printf("Loading single multiboot module in compat mode: %s\n", (char*)phystokv(bmods[0].string)); -- cgit v1.2.3