1DOLLY 72PACKAGE anykey3REQUIRES HOST runtime@04567FROM /v0.1.5/Dollyfile-system-build cf9cf053fb5debc080062e6e44c1b139175739f6158fa8a825b0255ba2063aee8REQUIRES HEADER libc9REQUIRES TOOL cc1011FILE /tmp/anykey.c12131415 int main(int argc, char **argv) {16 struct termios cooked, raw;17 if (argc != 2 || tcgetattr(0, &cooked) != 0) return 2;18 raw = cooked;19 raw.c_lflag &= ~(ICANON | ECHO | ISIG);20 raw.c_cc[VMIN] = 1;21 raw.c_cc[VTIME] = 0;22 if (tcsetattr(0, TCSAFLUSH, &raw) != 0) return 1;23 write(2, argv[1], strlen(argv[1]));24 char key;25 const long count = read(0, &key, 1);26 tcsetattr(0, TCSAFLUSH, &cooked);27 if (count != 1) return 1;28 if (key == 3) return 130;29 return write(1, &key, 1) == 1 ? 0 : 1;30 }31SLOP cc -O1 /tmp/anykey.c -o /usr/bin/anykey32EXPORTS TOOL anykey33FILE /usr/share/man/cat1/anykey.134 anykey PROMPT35 Discards earlier input, shows PROMPT on standard error and prints the one key36 then pressed. Ctrl+C is status 130; without a terminal or a PROMPT, 2.37