shithub: riscv

Download patch

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 == '['){