From babcc00dcd189058433100417d6568a15fe62cf1 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 15 Jun 2021 14:38:02 +0200 Subject: global-functions: introduce $HexToNum --- global-functions | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'global-functions') diff --git a/global-functions b/global-functions index 7a6d77a..d4aa574 100644 --- a/global-functions +++ b/global-functions @@ -30,6 +30,7 @@ :global GetMacVendor; :global GetRandom20CharHex; :global GetRandomNumber; +:global HexToNum; :global IfThenElse; :global IPCalc; :global LogPrintExit; @@ -425,6 +426,21 @@ :return ([ :tonum [ :pick $Num 0 18 ] ] % $Max); } +# convert from hex (string) to num +:set HexToNum do={ + :local Input [ :tostr $1 ]; + :local Hex "0123456789abcdef"; + :local Multi 1; + :local Return 0; + + :for I from=([ :len $Input ] - 1) to=0 do={ + :set Return ($Return + ([ :find $Hex [ :pick $Input $I ] ] * $Multi)); + :set Multi ($Multi * 16); + } + + :return $Return; +} + # mimic conditional/ternary operator (condition ? consequent : alternative) :set IfThenElse do={ :if ([ :tostr $1 ] = "true" || [ :tobool $1 ] = true) do={ -- cgit v1.2.3-54-g00ecf