module Binja.Utils
  ( toBool,
    ptrToMaybe,
  )
where

import Binja.Types

toBool :: CBool -> Bool
toBool :: CBool -> Bool
toBool (CBool Word8
0) = Bool
False
toBool CBool
_ = Bool
True

ptrToMaybe :: Ptr a -> Maybe (Ptr a)
ptrToMaybe :: forall a. Ptr a -> Maybe (Ptr a)
ptrToMaybe Ptr a
p
  | Ptr a
p Ptr a -> Ptr a -> Bool
forall a. Eq a => a -> a -> Bool
== Ptr a
forall a. Ptr a
nullPtr = Maybe (Ptr a)
forall a. Maybe a
Nothing
  | Bool
otherwise = Ptr a -> Maybe (Ptr a)
forall a. a -> Maybe a
Just Ptr a
p