lchar() needs to return the character written. (This happens by magic on 386,
authorDavid Given <dg@cowlark.com>
Sun, 11 Mar 2018 10:00:35 +0000 (11:00 +0100)
committerDavid Given <dg@cowlark.com>
Sun, 11 Mar 2018 10:00:35 +0000 (11:00 +0100)
but no on PPC.) See #72.

lang/b/lib/main.c

index b583a43..44ea76c 100644 (file)
@@ -14,10 +14,11 @@ static intptr_t i_char(intptr_t s, intptr_t n)
     return p[n];
 }
 
-static void i_lchar(intptr_t s, intptr_t n, intptr_t c)
+static intptr_t i_lchar(intptr_t s, intptr_t n, intptr_t c)
 {
     char* p = (char*)(s<<SHIFT);
     p[n] = c;
+       return c;
 }
 
 static intptr_t i_getchar(void)