diff options
author | Benjamin Barenblat <bbaren@google.com> | 2018-08-23 17:24:47 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2018-08-23 17:24:47 -0400 |
commit | d1a85eb87934d348c9789aec59c751fa615ec363 (patch) | |
tree | 09c72e290df883c1e2d4c7ea2ccf0b1470668ca2 /src/System | |
parent | 3be302655bc7e31805af4525d78beb6abfed9a5d (diff) |
Clean up casts
Use unsigned char buffers more pervasively throughout the code. This
removes most calls to `asCUCharBuf`, isolating `unsafeCoerce` further.
By making some type signatures slightly more flexible, also eliminate
most explicit integer conversions.
Diffstat (limited to 'src/System')
-rw-r--r-- | src/System/Random/Crypto.hs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/System/Random/Crypto.hs b/src/System/Random/Crypto.hs index ca2fba5..903f7aa 100644 --- a/src/System/Random/Crypto.hs +++ b/src/System/Random/Crypto.hs @@ -17,15 +17,14 @@ module System.Random.Crypto ) where import Data.ByteString (ByteString) -import qualified Data.ByteString as ByteString import Foreign (allocaArray) import BTLS.BoringSSL.Rand (randBytes) -import BTLS.Cast (asCUCharBuf) +import BTLS.Buffer (packCUStringLen) -- | Generates a cryptographically random buffer of the specified size. randomBytes :: Int -> IO ByteString randomBytes len = allocaArray len $ \pBuf -> do - randBytes (asCUCharBuf pBuf) (fromIntegral len) - ByteString.packCStringLen (pBuf, len) + randBytes pBuf (fromIntegral len) + packCUStringLen (pBuf, len) |