diff options
author | Alex Musolino <alex@musolino.id.au> | 2021-01-05 22:36:03 +1030 |
---|---|---|
committer | Alex Musolino <alex@musolino.id.au> | 2021-01-05 22:36:03 +1030 |
commit | 95b9b8863d747698cfb27d92f6160a588703acf3 (patch) | |
tree | ef95f572fa9bb903f792469200c3cbcc0c8feaf4 | |
parent | 76ed42e31ff3297f1ca9b144ccc9466b0074f92b (diff) | |
download | plan9front-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.c | 7 |
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[] = { |