diff --git a/1992/imc/README.md b/1992/imc/README.md index 03620bb4a..6360bbaaa 100644 --- a/1992/imc/README.md +++ b/1992/imc/README.md @@ -15,6 +15,15 @@ make all ``` +## Try: + +To see a number of options and configurations: + +```sh +./try.sh +``` + + ## Judges' remarks: The program is more interesting to run on workstations that can make use of a diff --git a/1992/imc/try.sh b/1992/imc/try.sh new file mode 100755 index 000000000..b661f0b23 --- /dev/null +++ b/1992/imc/try.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 1992/imc +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + +read -r -n 1 -p "Press any key to run: ./imc -text: " +echo 1>&2 +./imc -text +echo 1>&2 + +echo "$ ./imc -text -size 40 40 -limit 256 -julia 0.5 -0.5" +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " +echo 1>&2 +./imc -text -size 40 40 -limit 256 -julia 0.5 -0.5 | less -rEXF + +echo "$ ./imc -text -size 40 40 -limit 1024 -julia 2 -2.5" +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " +echo 1>&2 +./imc -text -size 40 40 -limit 1024 -julia 2 -2.5 | less -rEXF + +echo "$ ./imc -text -size 40 40 -limit 1024 -centre 1 2 -julia 2 -2.5" +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " +echo 1>&2 +./imc -text -size 40 40 -limit 1024 -centre 1 2 -julia 2 -2.5 | less -rEXF + +echo "$ ./imc -text -size 40 40 -limit 256" +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " +echo 1>&2 +./imc -text -size 40 40 -limit 256 | less -rEXF + +echo "$ ./imc -text -size 40 40 -limit 1024" +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " +echo 1>&2 +./imc -text -size 40 40 -limit 1024 | less -rEXF diff --git a/thanks-for-help.md b/thanks-for-help.md index 6894d0c46..85a5f5f36 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -1531,9 +1531,11 @@ details if you're interested in trying to understand it (or fix?). ## [1992/imc](/1992/imc/imc.c) ([README.md](/1992/imc/README.md])) +[Cody](#cody) provided the [try.sh](/1992/imc/try.sh) script. + The original code, [imc.orig.c](/1992/imc/imc.orig.c), assumed that `exit(3)` returned a value but this will cause problems where `exit(3)` returns void. The -source code was modified to avoid this problem but like [Cody](#cody) did with other fixes +source code was modified to avoid this problem but like Cody did with other fixes he made this more like the original by redefining `exit` to use the comma operator so that it could be used in binary expressions.