]> gitweb.michael.orlitzky.com - hath.git/blobdiff - src/hath.hs
Separate a few functions out in to a ListUtils module.
[hath.git] / src / hath.hs
index 7b406a8ce9f3332a182d9ff087a9b8ec9011d19d..669ed4f7aff847d6b25505f786056fd66783160c 100644 (file)
@@ -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 ""