pub unsafe fn chash_new(mut size: libc::c_uint, mut flags: libc::c_int) -> *mut chash {
    let mut h: *mut chash = 0 as *mut chash;
    h = malloc(::std::mem::size_of::<chash>() as libc::size_t) as *mut chash;
    if h.is_null() {
        return 0 as *mut chash;
    }
    if size < 13i32 as libc::c_uint {
        size = 13i32 as libc::c_uint
    }
    (*h).count = 0i32 as libc::c_uint;
    (*h).cells = calloc(
        size as libc::size_t,
        ::std::mem::size_of::<*mut chashcell>() as libc::size_t,
    ) as *mut *mut chashcell;
    if (*h).cells.is_null() {
        free(h as *mut libc::c_void);
        return 0 as *mut chash;
    }
    (*h).size = size;
    (*h).copykey = flags & 1i32;
    (*h).copyvalue = flags & 2i32;
    return h;
}
/* Allocates a new (empty) hash using this initial size and the given flags,
  specifying which data should be copied in the hash.
   CHASH_COPYNONE  : Keys/Values are not copied.
   CHASH_COPYKEY   : Keys are dupped and freed as needed in the hash.
   CHASH_COPYVALUE : Values are dupped and freed as needed in the hash.
   CHASH_COPYALL   : Both keys and values are dupped in the hash.
*/
Allocates a new (empty) hash using this initial size and the given flags,
specifying which data should be copied in the hash.
CHASH_COPYNONE  : Keys/Values are not copied.
CHASH_COPYKEY   : Keys are dupped and freed as needed in the hash.
CHASH_COPYVALUE : Values are dupped and freed as needed in the hash.
CHASH_COPYALL   : Both keys and values are dupped in the hash.
Allocates a new ( empty ) hash using this initial size and the given flags specifying which data should be copied in the hash . CHASH_COPYNONE : Keys / Values are not copied . CHASH_COPYKEY : Keys are dupped and freed as needed in the hash . CHASH_COPYVALUE : Values are dupped and freed as needed in the hash . CHASH_COPYALL : Both keys and values are dupped in the hash .
pub unsafe fn chash_new(mut size: libc::c_uint, mut flags: libc::c_int) -> *mut chash {
    let mut h: *mut chash = 0 as *mut chash;
    h = malloc(::std::mem::size_of::<chash>() as libc::size_t) as *mut chash;
    if h.is_null() {
        return 0 as *mut chash;
    }
    if size < 13i32 as libc::c_uint {
        size = 13i32 as libc::c_uint
    }
    (*h).count = 0i32 as libc::c_uint;
    (*h).cells = calloc(
        size as libc::size_t,
        ::std::mem::size_of::<*mut chashcell>() as libc::size_t,
    ) as *mut *mut chashcell;
    if (*h).cells.is_null() {
        free(h as *mut libc::c_void);
        return 0 as *mut chash;
    }
    (*h).size = size;
    (*h).copykey = flags & 1i32;
    (*h).copyvalue = flags & 2i32;
    return h;
}
pub unsafe fn chash_new ( mut size : libc :: c_uint , mut flags : libc :: c_int ) -> * mut chash { let mut h : * mut chash = 0 as * mut chash ; h = malloc ( :: std :: mem :: size_of :: < chash > ( ) as libc :: size_t ) as * mut chash ; if h . is_null ( ) { return 0 as * mut chash ; } if size < 13i32 as libc :: c_uint { size = 13i32 as libc :: c_uint } ( * h ) . count = 0i32 as libc :: c_uint ; ( * h ) . cells = calloc ( size as libc :: size_t , :: std :: mem :: size_of :: < * mut chashcell > ( ) as libc :: size_t , ) as * mut * mut chashcell ; if ( * h ) . cells . is_null ( ) { free ( h as * mut libc :: c_void ) ; return 0 as * mut chash ; } ( * h ) . size = size ; ( * h ) . copykey = flags & 1i32 ; ( * h ) . copyvalue = flags & 2i32 ; return h ; }
Allocates a new (empty) hash using this initial size and the given flags,
specifying which data should be copied in the hash.
Allocates a new ( empty ) hash using this initial size and the given flags specifying which data should be copied in the hash .
size
libc::c_uint
flags
libc::c_int
size
libc::c_uint
flags
libc::c_int