aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/BTLS/BoringSSL/Mem.chs6
-rw-r--r--src/BTLS/Buffer.hs6
-rw-r--r--src/BTLS/Cast.hs21
3 files changed, 3 insertions, 30 deletions
diff --git a/src/BTLS/BoringSSL/Mem.chs b/src/BTLS/BoringSSL/Mem.chs
index 6f828ad..f3af001 100644
--- a/src/BTLS/BoringSSL/Mem.chs
+++ b/src/BTLS/BoringSSL/Mem.chs
@@ -14,9 +14,7 @@
module BTLS.BoringSSL.Mem where
-import Foreign (Ptr)
-
-import BTLS.Cast (asVoidPtr)
+import Foreign (Ptr, castPtr)
#include <openssl/mem.h>
@@ -24,4 +22,4 @@ import BTLS.Cast (asVoidPtr)
-- of time dependent on the specified size but independent of either buffer's
-- contents.
{#fun CRYPTO_memcmp as cryptoMemcmp
- {asVoidPtr `Ptr a', asVoidPtr `Ptr a', `Int'} -> `Int'#}
+ {castPtr `Ptr a', castPtr `Ptr a', `Int'} -> `Int'#}
diff --git a/src/BTLS/Buffer.hs b/src/BTLS/Buffer.hs
index 186054f..1a334e9 100644
--- a/src/BTLS/Buffer.hs
+++ b/src/BTLS/Buffer.hs
@@ -22,7 +22,6 @@ import qualified Data.ByteString as ByteString
import qualified Data.ByteString.Unsafe as ByteString
import Foreign (Ptr, castPtr)
import Foreign.C.Types
-import Unsafe.Coerce (unsafeCoerce)
unsafeUseAsCBuffer :: ByteString -> ((Ptr a, CULong) -> IO b) -> IO b
unsafeUseAsCBuffer bs f =
@@ -31,7 +30,4 @@ unsafeUseAsCBuffer bs f =
packCUStringLen :: Integral n => (Ptr CUChar, n) -> IO ByteString
packCUStringLen (pStr, len) =
- ByteString.packCStringLen (asCCharBuf pStr, fromIntegral len)
-
-asCCharBuf :: Ptr CUChar -> Ptr CChar
-asCCharBuf = unsafeCoerce
+ ByteString.packCStringLen (castPtr pStr, fromIntegral len)
diff --git a/src/BTLS/Cast.hs b/src/BTLS/Cast.hs
deleted file mode 100644
index 6f29469..0000000
--- a/src/BTLS/Cast.hs
+++ /dev/null
@@ -1,21 +0,0 @@
--- Copyright 2018 Google LLC
---
--- Licensed under the Apache License, Version 2.0 (the "License"); you may not
--- use this file except in compliance with the License. You may obtain a copy of
--- the License at
---
--- https://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
--- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
--- License for the specific language governing permissions and limitations under
--- the License.
-
-module BTLS.Cast where
-
-import Foreign (Ptr)
-import Unsafe.Coerce (unsafeCoerce)
-
-asVoidPtr :: Ptr a -> Ptr ()
-asVoidPtr = unsafeCoerce