Added 1992/imc/try.sh

This commit is contained in:
Cody Boone Ferguson committed 2024-01-13 10:48:32 -08:00
1 parent 3f4d556101
commit b639167e03
3 files changed
+58 -1

No files matched your search

+9
View File
@@ -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
+46
View File
@@ -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
+3 -1
View File
@@ -1531,9 +1531,11 @@ details if you're interested in trying to understand it (or fix?).
## <a name="1992_imc"></a>[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.