From 8ffa3cf43906fa95c127c01b751590e77c7bf695 Mon Sep 17 00:00:00 2001 From: Manuel Mendez Date: Sun, 17 Nov 2019 10:50:26 -0500 Subject: [PATCH] grimshot: fix branching on command exit status The previous behavior was incorrect because `if` was checking the return status of the `[` command which was never going to be an error. `[` seems to only return an error if no args are provided. This was basically a useless use of `[` anyway since it was just meant as a straight interpretation of command exit, something that `if` can do itself. Compare: ```sh [ ]; echo ?=$? [ /bin/false ]; echo ?=$? if [ /bin/false ]; then echo this is the unintended bug; fi if /bin/false; then echo this will not be printed; fi ``` --- contrib/grimshot | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/contrib/grimshot b/contrib/grimshot index de2e7a7fe..8a253ce82 100755 --- a/contrib/grimshot +++ b/contrib/grimshot @@ -51,8 +51,7 @@ die() { check() { COMMAND=$1 - command -v "$COMMAND" > /dev/null 2>&1 - if [ $? ]; then + if command -v "$COMMAND" > /dev/null 2>&1; then RESULT="OK" else RESULT="NOT FOUND" @@ -102,8 +101,7 @@ if [ "$ACTION" = "copy" ] ; then rm "$TMP" notifyOk "$WHAT copied to buffer" else - takeScreenshot "$FILE" "$GEOM" - if [ $? ]; then + if takeScreenshot "$FILE" "$GEOM"; then TITLE="Screenshot of $SUBJECT" MESSAGE=$(basename "$FILE") notifyOk "$MESSAGE" "$TITLE"