=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/timeout/timeout.c,v retrieving revision 1.22 retrieving revision 1.23 diff -c -r1.22 -r1.23 *** src/usr.bin/timeout/timeout.c 2022/12/22 19:53:23 1.22 --- src/usr.bin/timeout/timeout.c 2023/01/10 14:19:12 1.23 *************** *** 1,4 **** ! /* $OpenBSD: timeout.c,v 1.22 2022/12/22 19:53:23 kn Exp $ */ /* * Copyright (c) 2021 Job Snijders --- 1,4 ---- ! /* $OpenBSD: timeout.c,v 1.23 2023/01/10 14:19:12 job Exp $ */ /* * Copyright (c) 2021 Job Snijders *************** *** 55,64 **** usage(void) { fprintf(stderr, ! "usage: timeout [-k time] [-s sig] [--foreground]" ! " [--preserve-status] duration\n" ! " command [arg ...]\n"); ! exit(1); } --- 55,62 ---- usage(void) { fprintf(stderr, ! "usage: timeout [-fp] [-k time] [-s sig] duration command" ! " [arg ...]\n"); exit(1); } *************** *** 180,187 **** SIGALRM, SIGQUIT}; const struct option longopts[] = { ! { "preserve-status", no_argument, &preserve, 1 }, ! { "foreground", no_argument, &foreground, 1 }, { "kill-after", required_argument, NULL, 'k'}, { "signal", required_argument, NULL, 's'}, { "help", no_argument, NULL, 'h'}, --- 178,185 ---- SIGALRM, SIGQUIT}; const struct option longopts[] = { ! { "preserve-status", no_argument, NULL, 'p'}, ! { "foreground", no_argument, NULL, 'f'}, { "kill-after", required_argument, NULL, 'k'}, { "signal", required_argument, NULL, 's'}, { "help", no_argument, NULL, 'h'}, *************** *** 191,201 **** if (pledge("stdio proc exec", NULL) == -1) err(1, "pledge"); ! while ((ch = getopt_long(argc, argv, "+k:s:h", longopts, NULL)) != -1) { switch (ch) { case 'k': do_second_kill = true; second_kill = parse_duration(optarg); break; case 's': killsig = parse_signal(optarg); --- 189,206 ---- if (pledge("stdio proc exec", NULL) == -1) err(1, "pledge"); ! while ((ch = getopt_long(argc, argv, "+fk:ps:h", longopts, NULL)) ! != -1) { switch (ch) { + case 'f': + foreground = 1; + break; case 'k': do_second_kill = true; second_kill = parse_duration(optarg); + break; + case 'p': + preserve = 1; break; case 's': killsig = parse_signal(optarg);