X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=csrMem.h;h=25913be651236abce298516b4f570cbc5828fb1d;hb=3e1642e28847218d89d1bec2f8b035c10359ac91;hp=dbcc942566e3e5420290cf773f80978709f101d3;hpb=a97099abba0a239e20929f04ece9d6839c96ac14;p=csRadar.git diff --git a/csrMem.h b/csrMem.h index dbcc942..25913be 100644 --- a/csrMem.h +++ b/csrMem.h @@ -11,6 +11,14 @@ void *csr_malloc( size_t size ) return ret; } +void *csr_calloc( size_t size ) +{ + void *ret = calloc( 1, size ); + if( !ret ) + exit(1); + return ret; +} + void *csr_sb_raw( void *arr ) { return ((u32 *)arr)-3; @@ -42,6 +50,7 @@ void csr_sb_inc( void *arr, u32 amt ) raw[1] += amt; } +__attribute__((warn_unused_result)) void *csr_sb_reserve( void *arr, u32 amt, u32 esize ) { u32 cap = arr? csr_sb_cap( arr ): 0; @@ -75,6 +84,14 @@ void csr_sb_free( void *arr ) } } +void csr_sb_clear( void *arr ) +{ + if( arr ) + { + ((u32 *)csr_sb_raw( arr ))[1] = 0; + } +} + // djb2 - Dan Bernstein unsigned long djb2( unsigned char const *str ) {