sha256

Pure Haskell SHA-256, HMAC-SHA256 (docs.ppad.tech/sha256).
git clone git://git.ppad.tech/sha256.git
Log | Files | Refs | README | LICENSE

commit 87cce463a07fd1675e4edcef5b34498570c11503
parent d40f9405d179d7902e260227b4c35af51cf6514e
Author: Jared Tobin <jared@jtobin.io>
Date:   Sat, 10 Oct 2026 15:23:14 +0400

lib: bind sha256_arm_available as returning CInt

The C function returns an 'int'; binding it as 'Int' read a 64-bit
register whose upper half AAPCS64 leaves unspecified.

Diffstat:
Mlib/Crypto/Hash/SHA256/Arm.hs | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/Crypto/Hash/SHA256/Arm.hs b/lib/Crypto/Hash/SHA256/Arm.hs @@ -24,6 +24,7 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Internal as BI import qualified Data.ByteString.Unsafe as BU import Data.Word (Word8, Word32, Word64) +import Foreign.C.Types (CInt(..)) import Foreign.Marshal.Alloc (allocaBytes) import Foreign.Ptr (Ptr) import qualified GHC.Exts as Exts @@ -38,7 +39,7 @@ foreign import ccall unsafe "sha256_block_arm" c_sha256_block :: Ptr Word32 -> Ptr Word32 -> IO () foreign import ccall unsafe "sha256_arm_available" - c_sha256_arm_available :: IO Int + c_sha256_arm_available :: IO CInt -- utilities ------------------------------------------------------------------