libpng_sys/
lib.rs

1//! # This is not the documentation you're looking for
2//! See [libpng documentation](http://libpng.org/pub/png/libpng-manual.txt) instead.
3//!
4//! Consider using a native Rust PNG library instead (e.g. [LodePNG 2.x](https://lib.rs/crates/lodepng)).
5
6#[cfg(feature="cloudflare-zlib-sys")]
7extern crate cloudflare_zlib_sys;
8
9#[cfg(all(feature="libz-sys", not(feature="cloudflare-zlib-sys")))]
10extern crate libz_sys;
11
12pub mod ffi;
13
14#[test]
15fn links() {
16    unsafe {
17        assert!(ffi::png_access_version_number() > 10000);
18    }
19}
20
21#[test]
22fn z() {
23    extern "C" {
24        fn deflateEnd(x: *mut u8) -> std::os::raw::c_int;
25    }
26    unsafe {
27        deflateEnd(std::ptr::null_mut());
28    }
29}
30
31#[test]
32fn creates() {
33    use std::ptr::null_mut;
34    unsafe {
35        assert!(ffi::png_access_version_number() > 10600);
36
37        let mut res = ffi::png_create_read_struct_2(ffi::PNG_LIBPNG_VER_STRING, null_mut(), None, None, null_mut(), None, None);
38        assert!(!res.is_null());
39        ffi::png_destroy_read_struct(&mut res, null_mut(), null_mut());
40    }
41}