git: 9front

Download patch

ref: 1dfa2d264d2e316475f370032c5b0bb239ddd621
parent: 75834e514503f6d42f8bcb01efc7005baeccaf71
author: BurnZeZ <brz-9dev@intma.in>
date: Sat Nov 9 22:35:25 EST 2013

libjson: don't perform chartorune in getch() when char is null terminator, and remove empty string check added last commit

--- a/sys/src/libjson/json.c
+++ b/sys/src/libjson/json.c
@@ -36,6 +36,8 @@
 		l->peeked = 0;
 		return r;
 	}
+	if(l->s[0] == '\0')
+		return 0;
 	l->s += chartorune(&r, l->s);
 	return r;
 }
@@ -318,11 +320,8 @@
 
 	memset(&l, 0, sizeof(l));
 	l.s = s;
-	if((l.slen = strlen(s)) == 0){
-		werrstr("empty string");
-		return nil;
-	}
-	if((l.buf = mallocz(l.slen, 1)) == nil)
+	l.slen = strlen(s);
+	if((l.buf = mallocz(l.slen+1, 1)) == nil)
 		return nil;
 
 	j = jsonobj(&l);
--