From a1138ff98bd5393fbd2acfaf71d273893bc5ae44 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Mon, 15 Jan 2024 11:10:35 -0800
Subject: [PATCH] Add 1994/smr/try.sh
Why would a zero byte entry that prints itself need a try script? Try it
and find out.
---
1994/smr/README.md | 2 +-
1994/smr/try.sh | 33 +++++++++++++++++++++++++++++++++
thanks-for-help.md | 5 +++++
3 files changed, 39 insertions(+), 1 deletion(-)
create mode 100755 1994/smr/try.sh
diff --git a/1994/smr/README.md b/1994/smr/README.md
index b4d74f498..df352d3b0 100644
--- a/1994/smr/README.md
+++ b/1994/smr/README.md
@@ -15,7 +15,7 @@ make all
## Try:
```sh
-./smr > smr.out ; diff -s smr.out smr.c
+./try.sh
```
diff --git a/1994/smr/try.sh b/1994/smr/try.sh
new file mode 100755
index 000000000..91d7c8206
--- /dev/null
+++ b/1994/smr/try.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+#
+# try.sh - demonstrate IOCCC winner 1994/smr
+#
+
+# 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 show smr.c: "
+echo 1>&2
+cat smr.c
+echo 1>&2
+
+read -r -n 1 -p "Press any key to run: ./smr: "
+echo 1>&2
+./smr
+echo 1>&2
+
+rm -f smr.out
+read -r -n 1 -p "Press any key to run: ./smr > smr.out; diff -s smr.out smr.c: "
+echo 1>&2
+./smr > smr.out; diff -s smr.out smr.c
+echo 1>&2
+rm -f smr.out
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 827418c81..4600ce307 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -1932,6 +1932,11 @@ For an interesting problem that occurred here and what was done to solve it,
check the [bugs.md](bugs.md) file.
+## [1994/smr](/1994/smr/smr.c) ([README.md](/1994/smr/README.md]))
+
+[Cody](#cody) added the [try.sh](/1994/smr/try.sh) script.
+
+
## [1994/tvr](/1994/tvr/tvr.c) ([README.md](/1994/tvr/README.md]))
[Cody](#cody) made this use `fgets(3)` instead of `gets(3)`. In this case the newline had