stage2 loader: Fix loadlist parsing breaking out of the loop too early

This commit is contained in:
langerhans 2018-05-03 21:45:40 +02:00
parent 54a1529ef4
commit 1149665402

View file

@ -110,20 +110,22 @@ void parse_loadlist(const char *ll) {
/* Load the entry. */
load_list_entry(entry);
/* Skip to the next delimiter. */
for (; *p == ' ' || *p == '\t'; p++) { }
if (*p == '\x00') {
break;
} else if (*p != '|') {
for (; *p == ' ' || *p == '\t' || *p == '\x00'; p++) { }
if (*p != '|') {
printk("Error: Load list is malformed!\n");
generic_panic();
} else {
/* Skip to the next entry. */
for (; *p == ' ' || *p == '\t'; p++) { }
for (; *p == ' ' || *p == '\t' || *p == '|'; p++) { }
entry = p;
}
}
p++;
if (*p == '\x00') {
/* We're at the end of the line, load the last entry */
load_list_entry(entry);
}
}
}