Skip to content

Commit db76035

Browse files
amesgenBodigrim
authored andcommitted
Correct signatures for FinalizerPtrs
1 parent da628c1 commit db76035

File tree

4 files changed

+25
-3
lines changed

4 files changed

+25
-3
lines changed

Codec/Compression/Zlib/Stream.hsc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,7 +1098,7 @@ c_deflateInit2 z a b c d e =
10981098
foreign import ccall SAFTY "zlib.h inflate"
10991099
c_inflate :: StreamState -> CInt -> IO CInt
11001100

1101-
foreign import ccall unsafe "zlib.h &inflateEnd"
1101+
foreign import ccall unsafe "hs-zlib.h &_hs_zlib_inflateEnd"
11021102
c_inflateEnd :: FinalizerPtr StreamState
11031103

11041104
foreign import ccall unsafe "zlib.h inflateReset"
@@ -1119,7 +1119,7 @@ foreign import ccall unsafe "zlib.h inflateSetDictionary"
11191119
foreign import ccall SAFTY "zlib.h deflate"
11201120
c_deflate :: StreamState -> CInt -> IO CInt
11211121

1122-
foreign import ccall unsafe "zlib.h &deflateEnd"
1122+
foreign import ccall unsafe "hs-zlib.h &_hs_zlib_deflateEnd"
11231123
c_deflateEnd :: FinalizerPtr StreamState
11241124

11251125
foreign import ccall unsafe "zlib.h zlibVersion"

cbits-extra/hs-zlib.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include "hs-zlib.h"
2+
3+
void _hs_zlib_inflateEnd(z_streamp strm) {
4+
inflateEnd(strm);
5+
}
6+
7+
void _hs_zlib_deflateEnd(z_streamp strm) {
8+
deflateEnd(strm);
9+
}

cbits-extra/hs-zlib.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef HS_ZLIB_EXTRAS
2+
#define HS_ZLIB_EXTRAS
3+
4+
#include "zlib.h"
5+
6+
void _hs_zlib_inflateEnd(z_streamp strm);
7+
void _hs_zlib_deflateEnd(z_streamp strm);
8+
#endif

zlib.cabal

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,12 @@ library
101101
build-tools: hsc2hs >= 0.67 && < 0.69
102102
-- GHC 7 ships hsc2hs-0.67
103103

104-
includes: zlib.h
104+
-- use `includes:` to include them when compiling
105+
includes: zlib.h hs-zlib.h
106+
-- use `install-includes:` to make it part of the sdist
107+
install-includes: hs-zlib.h
108+
include-dirs: cbits-extra
109+
c-sources: cbits-extra/hs-zlib.c
105110
ghc-options: -Wall -fwarn-tabs
106111
if flag(non-blocking-ffi)
107112
cpp-options: -DNON_BLOCKING_FFI

0 commit comments

Comments
 (0)