aboutsummaryrefslogtreecommitdiffstats
path: root/alarm.c
diff options
context:
space:
mode:
Diffstat (limited to 'alarm.c')
-rw-r--r--alarm.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/alarm.c b/alarm.c
index 81ad107..dc24f0e 100644
--- a/alarm.c
+++ b/alarm.c
@@ -13,7 +13,7 @@ static void
usage(void)
{
fprintf(stderr, "usage: %s duration command [argument ...]\n", argv0);
- exit(0);
+ exit(125);
}
int
@@ -25,6 +25,7 @@ main(int argc, char **argv)
long buf = 0;
int hms = 0;
char *time, c;
+ int ret;
argv0 = argv[0];
if (argc < 3)
@@ -56,6 +57,7 @@ main(int argc, char **argv)
alarm((unsigned)seconds);
execvp(argv[2], &argv[2]);
- fprintf(stderr, "%s: execvp %s: %s\n", argv0, argv[2], strerror(ENOMEM));
- return 1;
+ ret = errno == ENOENT ? 127 : 126;
+ fprintf(stderr, "%s: execvp %s: %s\n", argv0, argv[2], strerror(errno));
+ return ret;
}