mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-23 04:41:12 +00:00
Fix small issues in the stage2 loader (#78)
* stage2 loader: Fix loadlist parsing breaking out of the loop too early * stage2 loader: Use bct0 from the loader context
This commit is contained in:
parent
54a1529ef4
commit
0807aaea2b
1 changed files with 9 additions and 7 deletions
|
@ -54,7 +54,7 @@ void load_list_entry(const char *key) {
|
||||||
|
|
||||||
printk("Loading %s\n", key);
|
printk("Loading %s\n", key);
|
||||||
|
|
||||||
if (ini_parse_string(g_bct0, loadlist_entry_ini_handler, &load_file_ctx) < 0) {
|
if (ini_parse_string(get_loader_ctx()->bct0, loadlist_entry_ini_handler, &load_file_ctx) < 0) {
|
||||||
printk("Error: Failed to parse BCT.ini!\n");
|
printk("Error: Failed to parse BCT.ini!\n");
|
||||||
generic_panic();
|
generic_panic();
|
||||||
}
|
}
|
||||||
|
@ -110,20 +110,22 @@ void parse_loadlist(const char *ll) {
|
||||||
/* Load the entry. */
|
/* Load the entry. */
|
||||||
load_list_entry(entry);
|
load_list_entry(entry);
|
||||||
/* Skip to the next delimiter. */
|
/* Skip to the next delimiter. */
|
||||||
for (; *p == ' ' || *p == '\t'; p++) { }
|
for (; *p == ' ' || *p == '\t' || *p == '\x00'; p++) { }
|
||||||
if (*p == '\x00') {
|
if (*p != '|') {
|
||||||
break;
|
|
||||||
} else if (*p != '|') {
|
|
||||||
printk("Error: Load list is malformed!\n");
|
printk("Error: Load list is malformed!\n");
|
||||||
generic_panic();
|
generic_panic();
|
||||||
} else {
|
} else {
|
||||||
/* Skip to the next entry. */
|
/* Skip to the next entry. */
|
||||||
for (; *p == ' ' || *p == '\t'; p++) { }
|
for (; *p == ' ' || *p == '\t' || *p == '|'; p++) { }
|
||||||
entry = p;
|
entry = p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p++;
|
p++;
|
||||||
|
if (*p == '\x00') {
|
||||||
|
/* We're at the end of the line, load the last entry */
|
||||||
|
load_list_entry(entry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue