diff options
Diffstat (limited to 'apps/codecs/dumb/make/dumbask.c')
| -rw-r--r-- | apps/codecs/dumb/make/dumbask.c | 30 |
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; + } +} |