Drop the \0 from readstr()
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 28 Sep 2018 20:10:57 +0000 (16:10 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 2 Oct 2018 18:07:01 +0000 (14:07 -0400)
Userspace can handle determining the length by the return value.  Some
tools (e.g. GNU grep) don't like the \0 and think the contents are binary.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/ns/util.c

index 71ab4cd..4946be4 100644 (file)
@@ -47,8 +47,7 @@ int readnum_hex(unsigned long off, char *buf, unsigned long n,
 
 int readstr(unsigned long offset, char *buf, unsigned long n, const char *str)
 {
-       /* always include the \0 */
-       return readmem(offset, buf, n, str, strlen(str) + 1);
+       return readmem(offset, buf, n, str, strlen(str));
 }
 
 /* Helper: extracts a long from a user buffer (in text). */