Comparison

util/human/io.lua @ 13199:278920294dfe

util.human.io: Fix pattern in parse_duration() to cover all used letters Notably 'h' was missing. Awkwardly, 'hour' would result in 'ho' which was missing from table.
author Kim Alvefur <zash@zash.se>
date Sun, 16 Jul 2023 19:27:18 +0200
parent 13068:7a75cbc4d87c
child 13210:8dbe693ded6b
comparison
equal deleted inserted replaced
13198:313c49c7566a 13199:278920294dfe
195 end 195 end
196 196
197 local day = 86400; 197 local day = 86400;
198 local multipliers = { 198 local multipliers = {
199 d = day, w = day * 7, m = 31 * day, mo = 31 * day, y = 365.2425 * day; 199 d = day, w = day * 7, m = 31 * day, mo = 31 * day, y = 365.2425 * day;
200 s = 1, mi = 60, h = 3600 200 s = 1, mi = 60, h = 3600, ho = 3600
201 }; 201 };
202 local function parse_duration(duration_string) 202 local function parse_duration(duration_string)
203 local n, m = duration_string:lower():match("(%d+)%s*([dwmy]?.?)"); 203 local n, m = duration_string:lower():match("(%d+)%s*([smhdwy]?[io]?)");
204 if not n then return nil; end 204 if not n then return nil; end
205 return tonumber(n) * ( multipliers[m] or 1 ); 205 return tonumber(n) * ( multipliers[m] or 1 );
206 end 206 end
207 207
208 return { 208 return {