summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Musolino <alex@musolino.id.au>2021-01-05 22:36:03 +1030
committerAlex Musolino <alex@musolino.id.au>2021-01-05 22:36:03 +1030
commit95b9b8863d747698cfb27d92f6160a588703acf3 (patch)
treeef95f572fa9bb903f792469200c3cbcc0c8feaf4
parent76ed42e31ff3297f1ca9b144ccc9466b0074f92b (diff)
downloadplan9front-95b9b8863d747698cfb27d92f6160a588703acf3.tar.xz
qr: fix exit status
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.
-rw-r--r--sys/src/cmd/qr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/cmd/qr.c b/sys/src/cmd/qr.c
index 332da7e3b..408141bfb 100644
--- a/sys/src/cmd/qr.c
+++ b/sys/src/cmd/qr.c
@@ -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[] = {