From c9eb11a8b685dffa9035f324ca11a727cd16a128 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Fri, 31 Aug 2018 17:16:59 -0400 Subject: Replace `unsafeCoerce' with `castPtr' --- btls.cabal | 1 - src/BTLS/BoringSSL/Mem.chs | 6 ++---- src/BTLS/Buffer.hs | 6 +----- src/BTLS/Cast.hs | 21 --------------------- 4 files changed, 3 insertions(+), 31 deletions(-) delete mode 100644 src/BTLS/Cast.hs diff --git a/btls.cabal b/btls.cabal index 5c9d68a..f544a6e 100644 --- a/btls.cabal +++ b/btls.cabal @@ -79,7 +79,6 @@ library , BTLS.BoringSSL.Rand , BTLS.BoringSSLPatterns , BTLS.Buffer - , BTLS.Cast , BTLS.CreateWithFinalizer , BTLS.Result , BTLS.Types 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 @@ -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 -- cgit v1.2.3