summaryrefslogtreecommitdiff
path: root/apps/codecs/dumb/make/dumbask.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/dumb/make/dumbask.c')
-rw-r--r--apps/codecs/dumb/make/dumbask.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/apps/codecs/dumb/make/dumbask.c b/apps/codecs/dumb/make/dumbask.c
new file mode 100644
index 0000000..da89fab
--- /dev/null
+++ b/apps/codecs/dumb/make/dumbask.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <ctype.h>
+
+
+int main(int argc, const char *const argv[])
+{
+ const char *message = argv[1];
+ const char *options;
+
+ if (!message) {
+ fprintf(stderr,
+ "dumbask: asks the user a question.\n"
+ "Specify a message as the first argument (quoted!).\n"
+ "You may optionally specify the choices as the second argument.\n"
+ "Default choices are YN. Exit code is 0 for first, 1 for second, etc.\n");
+ return 0;
+ }
+
+ options = argv[2] ? : "YN"; /* I _had_ to use a GNU Extension _somewhere_! */
+
+ printf("%s", argv[1]);
+
+ for (;;) {
+ char c = toupper(getchar());
+ int i;
+ for (i = 0; options[i]; i++)
+ if (c == toupper(options[i]))
+ return i;
+ }
+}