From 2ef621251992bc0b9fbc9ada98606996047ed8a3 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Wed, 20 Apr 2016 18:26:58 +0100 Subject: sleep,timeout: support overflowing floating point values * src/sleep.c (main): Allow ERANGE since we allow "inf" values. * src/timeout.c (parse_duration): Likewise. * tests/misc/sleep.sh: New file. Tests for sleep(1). * tests/misc/timeout-parameters.sh: Add case for newly allowed $LDBL_MAX. Also use returns_ throughout the file. Also avoid small timeout values which might give false failures under load. --- src/timeout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/timeout.c') diff --git a/src/timeout.c b/src/timeout.c index 9c31df529..462ef6b81 100644 --- a/src/timeout.c +++ b/src/timeout.c @@ -314,7 +314,7 @@ parse_duration (const char* str) double duration; const char *ep; - if (!xstrtod (str, &ep, &duration, c_strtod) + if (! (xstrtod (str, &ep, &duration, c_strtod) || errno == ERANGE) /* Nonnegative interval. */ || ! (0 <= duration) /* No extra chars after the number and an optional s,m,h,d char. */ -- cgit v1.2.3-54-g00ecf