ref: ce062debb1edaa27548deea0f151a9d4c95414a7
parent: e5cb695c7ab91b35684937e6c311eb4fe9270d67
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Oct 5 22:42:53 EDT 2018
9boot: get rid of 64 byte line length limit
--- a/sys/src/boot/efi/sub.c
+++ b/sys/src/boot/efi/sub.c
@@ -97,7 +97,7 @@
}
static int
-readline(void *f, char buf[64])
+readline(void *f, char *buf)
{
static char white[] = "\t ";
char *p;
@@ -127,14 +127,6 @@
break;
if(p == buf && strchr(white, *p) != nil)
continue; /* whitespace on start of line */
- if(p >= buf + 64-1){
- if(f == nil){
- putc('\b');
- putc(' ');
- putc('\b');
- }
- continue; /* line full do not advance */
- }
p++;
}
while(p > buf && strchr(white, p[-1]))
@@ -211,7 +203,7 @@
char*
configure(void *f, char *path)
{
- char line[64], *kern, *s, *p;
+ char *line, *kern, *s, *p;
int inblock, nowait, n;
static int once = 1;
@@ -227,7 +219,7 @@
nowait = 1;
inblock = 0;
Loop:
- while(readline(f, line) > 0){
+ while(readline(f, line = confend+1) > 0){
if(*line == 0 || strchr("#;=", *line) != nil)
continue;
if(*line == '['){
--- a/sys/src/boot/pc/sub.c
+++ b/sys/src/boot/pc/sub.c
@@ -120,7 +120,7 @@
}
static int
-readline(void *f, char buf[64])
+readline(void *f, char *buf)
{
static char white[] = "\t ";
char *p;
@@ -150,14 +150,6 @@
break;
if(p == buf && strchr(white, *p) != nil)
continue; /* whitespace on start of line */
- if(p >= buf + 64-1){
- if(f == nil){
- putc('\b');
- putc(' ');
- putc('\b');
- }
- continue; /* line full do not advance */
- }
p++;
}
while(p > buf && strchr(white, p[-1]))
@@ -239,7 +231,7 @@
char*
configure(void *f, char *path)
{
- char line[64], *kern, *s, *p;
+ char *line, *kern, *s, *p;
int inblock, nowait, n;
static int once = 1;
@@ -257,7 +249,7 @@
nowait = 1;
inblock = 0;
Loop:
- while(readline(f, line) > 0){
+ while(readline(f, line = confend+1) > 0){
if(*line == 0 || strchr("#;=", *line) != nil)
continue;
if(*line == '['){