config: Fix issue with configs without trailing newline
This commit is contained in:
parent
0f5a467a78
commit
effb82320e
|
@ -28,7 +28,7 @@ int init_config_disk(struct volume *part) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t config_size = f->size + 1;
|
size_t config_size = f->size + 2;
|
||||||
config_addr = ext_mem_alloc(config_size);
|
config_addr = ext_mem_alloc(config_size);
|
||||||
|
|
||||||
fread(f, config_addr, 0, f->size);
|
fread(f, config_addr, 0, f->size);
|
||||||
|
@ -45,7 +45,7 @@ int init_config_pxe(void) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t config_size = f.size + 1;
|
size_t config_size = f.size + 2;
|
||||||
config_addr = ext_mem_alloc(config_size);
|
config_addr = ext_mem_alloc(config_size);
|
||||||
|
|
||||||
fread(&f, config_addr, 0, f.size);
|
fread(&f, config_addr, 0, f.size);
|
||||||
|
@ -147,6 +147,9 @@ struct macro {
|
||||||
static struct macro *macros = NULL;
|
static struct macro *macros = NULL;
|
||||||
|
|
||||||
int init_config(size_t config_size) {
|
int init_config(size_t config_size) {
|
||||||
|
// add trailing newline if not present
|
||||||
|
config_addr[config_size - 2] = '\n';
|
||||||
|
|
||||||
// remove windows carriage returns and spaces at the start of lines, if any
|
// remove windows carriage returns and spaces at the start of lines, if any
|
||||||
for (size_t i = 0; i < config_size; i++) {
|
for (size_t i = 0; i < config_size; i++) {
|
||||||
size_t skip = 0;
|
size_t skip = 0;
|
||||||
|
|
Loading…
Reference in New Issue