X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fhath.hs;h=669ed4f7aff847d6b25505f786056fd66783160c;hb=3e80ef521dea2f0c72aa391e12281b0a56bd76e2;hp=7b406a8ce9f3332a182d9ff087a9b8ec9011d19d;hpb=95b54c5699d04db1f311e5a204600c5859361064;p=hath.git diff --git a/src/hath.hs b/src/hath.hs index 7b406a8..669ed4f 100644 --- a/src/hath.hs +++ b/src/hath.hs @@ -4,16 +4,7 @@ import qualified Numeric as N import System.Exit (exitFailure) import Text.Regex.Posix - --- Stolen from ByteString. Splits a list at each element satisfying --- the predicate p. -splitWith :: (a -> Bool) -> [a] -> [[a]] -splitWith p xs = - ys : case zs of - [] -> [] - _:ws -> splitWith p ws - where (ys,zs) = break p xs - +import ListUtils -- Takes an IP address in CIDR notation, and returns a list of its -- octets (converted to Int). @@ -27,28 +18,6 @@ maskbits :: String -> Int maskbits cidr = read ((splitWith (`elem` "/") cidr) !! 1) --- Pads a list (on the left) to length len by prepending pad_elem. -pad_left_to :: Int -> a -> [a] -> [a] -pad_left_to len pad_elem xs = - if (length xs) >= len then - xs - else - (replicate padcount pad_elem) ++ xs - where - padcount = len - (length xs) - - --- Pads a list (on the right) to length len by appending pad_elem. -pad_right_to :: Int -> a -> [a] -> [a] -pad_right_to len pad_elem xs = - if (length xs) >= len then - xs - else - xs ++ (replicate padcount pad_elem) - where - padcount = len - (length xs) - - -- Takes an Int, and returns its base-two representation as a String. base_two :: Int -> String base_two n = N.showIntAtBase 2 DC.intToDigit n ""