[RFC PATCH 01/14] config: refactor parse_leasetime() - branch amount remains same
Christian Marangi
ansuelsmth at gmail.com
Sat Nov 16 06:41:31 PST 2024
On Fri, May 10, 2024 at 12:30:33AM +0200, Paul Donald wrote:
> From: Paul Donald <newtwen at gmail.com>
>
> Also make 's' value a noop.
>
> Signed-off-by: Paul Donald <newtwen at gmail.com>
> ---
> src/config.c | 20 ++++++++------------
> 1 file changed, 8 insertions(+), 12 deletions(-)
>
> diff --git a/src/config.c b/src/config.c
> index 62d4857..346d74a 100644
> --- a/src/config.c
> +++ b/src/config.c
> @@ -356,18 +356,14 @@ static double parse_leasetime(struct blob_attr *c) {
> double time = strcmp(val, "infinite") ? strtod(val, &endptr) : UINT32_MAX;
>
> if (time && endptr && endptr[0]) {
> - if (endptr[0] == 's')
> - time *= 1;
> - else if (endptr[0] == 'm')
> - time *= 60;
> - else if (endptr[0] == 'h')
> - time *= 3600;
> - else if (endptr[0] == 'd')
> - time *= 24 * 3600;
> - else if (endptr[0] == 'w')
> - time *= 7 * 24 * 3600;
> - else
> - goto err;
> + switch(endptr[0]) {
> + case 's': break;
> + case 'm': time *= 60; break;
> + case 'h': time *= 3600; break;
> + case 'd': time *= 24 * 3600; break;
> + case 'w': time *= 7 * 24 * 3600; break;
> + default: goto err;
> + }
> }
>
Maybe we can use a fallthrough logic for this?
case 'w':
time *= 7
fallthrough;
case 'd':
time *= 24
fallthrough;
...
case 's':
break;
And maybe add comments w = week d = day...
--
Ansuel
More information about the openwrt-devel
mailing list