]> git.lizzy.rs Git - plan9front.git/commitdiff
qr: fix exit status
authorAlex Musolino <alex@musolino.id.au>
Tue, 5 Jan 2021 12:06:03 +0000 (22:36 +1030)
committerAlex Musolino <alex@musolino.id.au>
Tue, 5 Jan 2021 12:06:03 +0000 (22:36 +1030)
Call exits(0) instead of returning from main.  Also call sysfatal if
writing of image data fails.  Previously, qr(1) would exit with
default non-nil status "main" unconditionally as a result of returning
from main.

sys/src/cmd/qr.c

index 332da7e3b95b4f32627ddb4159e0fb754f3ed1a1..408141bfba1245348d39e95eac6941e86fe48ab5 100644 (file)
@@ -732,8 +732,11 @@ main(int argc, char **argv)
        b = qrcode(ver, lev, mode, buf, rc, &s);
        if(b == nil)
                sysfatal("%r");
-       print("%11s %11d %11d %11d %11d ", "k8", 0, 0, s, s);
-       write(1, b, s * s);
+       if(print("%11s %11d %11d %11d %11d ", "k8", 0, 0, s, s) != 5*12)
+               sysfatal("print: %r");
+       if(write(1, b, s*s) != s*s)
+               sysfatal("write: %r");
+       exits(0);
 }
 
 uchar qrrawpolys[] = {