On Thu, 2021-09-02 at 08:56 +0000, Job Snijders wrote:
> On Thu, Sep 02, 2021 at 07:23:26AM +0100, Jason McIntyre wrote:
> > > .Ar time
> > > -can be integer or decimal numbers.
> > > +are positive integer or real (decimal) numbers, with an optional
> >
> > can you have a negative timeout?
>
> Negative values are not permitted
>
> $ timeout -- -1 /bin/ls
> timeout: invalid duration: Undefined error: 0
>
> Kind regards,
>
> Job
>
There are a few cases where we don't set errno, but do use err(3).
Index: timeout.c
===================================================================
RCS file: /cvs/src/usr.bin/timeout/timeout.c,v
retrieving revision 1.13
diff -u -p -r1.13 timeout.c
--- timeout.c 2 Sep 2021 06:23:32 -0000 1.13
+++ timeout.c 2 Sep 2021 09:05:08 -0000
@@ -68,15 +68,15 @@ parse_duration(const char *duration)
ret = strtod(duration, &suffix);
if (ret == 0 && suffix == duration)
- err(1, "invalid duration");
+ errx(1, "invalid duration");
if (ret < 0 || ret >= 100000000UL)
- err(1, "invalid duration");
+ errx(1, "invalid duration");
if (suffix == NULL || *suffix == '\0')
return (ret);
if (suffix != NULL && *(suffix + 1) != '\0')
- err(1, "invalid duration");
+ errx(1, "invalid duration");
switch (*suffix) {
case 's':
@@ -91,7 +91,7 @@ parse_duration(const char *duration)
ret *= 60 * 60 * 24;
break;
default:
- err(1, "invalid duration");
+ errx(1, "invalid duration");
}
return (ret);
@@ -111,12 +111,12 @@ parse_signal(const char *str)
if (strcasecmp(str, sys_signame[i]) == 0)
return (i);
}
- err(1, "invalid signal name");
+ errx(1, "invalid signal name");
}
sig = strtonum(str, 1, NSIG, &errstr);
if (errstr != NULL)
- err(1, "signal %s %s", str, errstr);
+ errx(1, "signal %s %s", str, errstr);
return (int)sig;
}