webmcp

annotate framework/env/parse/boolean.lua @ 562:328f120924a2

Removed if-clause when initializing file descriptor set to avoid compiler warning for mondelefant_conn_try_wait
author jbe
date Fri Feb 05 15:51:39 2021 +0100 (2021-02-05)
parents 9fdfb27f8e67
children
rev   line source
jbe/bsw@0 1 function parse.boolean(str, dest_type, options)
jbe/bsw@0 2 if dest_type ~= atom.boolean then
jbe/bsw@0 3 error("parse.boolean(...) can only return booleans, but a different destination type than atom.boolean was given.")
jbe/bsw@0 4 end
jbe/bsw@0 5 local options = options or {}
jbe/bsw@0 6 local trimmed_str = string.match(str or "", "^%s*(.-)%s*$")
jbe/bsw@0 7 if options.true_as or options.false_as or options.nil_as then
jbe/bsw@0 8 if trimmed_str == options.true_as then
jbe/bsw@0 9 return true
jbe/bsw@0 10 elseif trimmed_str == options.false_as then
jbe/bsw@0 11 return false
jbe/bsw@0 12 elseif trimmed_str == options.nil_as or trimmed_str == "" then
jbe/bsw@0 13 return nil
jbe/bsw@0 14 else
jbe/bsw@0 15 error("Boolean value not recognized.")
jbe/bsw@0 16 end
jbe/bsw@0 17 else
jbe/bsw@0 18 local char = string.upper(string.sub(trimmed_str, 1, 1))
jbe/bsw@0 19 if char == "1" or char == "T" or char == "Y" then
jbe/bsw@0 20 return true
jbe/bsw@0 21 elseif char == "0" or char == "F" or char == "N" then
jbe/bsw@0 22 return false
jbe/bsw@0 23 elseif char == "" then
jbe/bsw@0 24 return nil
jbe/bsw@0 25 else
jbe/bsw@0 26 error("Boolean value not recognized.")
jbe/bsw@0 27 end
jbe/bsw@0 28 end
jbe/bsw@0 29 end

Impressum / About Us