From 95b9b8863d747698cfb27d92f6160a588703acf3 Mon Sep 17 00:00:00 2001 From: Alex Musolino Date: Tue, 5 Jan 2021 22:36:03 +1030 Subject: 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. --- sys/src/cmd/qr.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'sys/src') 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[] = { -- cgit v1.2.3