#include "sl.h" u32int *bitvector_resize(u32int *b, u64int oldsz, u64int newsz, bool zero){ u32int *p; usize sz = ((newsz+31)>>5) * sizeof(u32int); p = MEM_REALLOC(b, sz); if(p == nil) return nil; if(zero && newsz > oldsz){ usize osz = ((oldsz+31)>>5) * sizeof(u32int); memset(&p[osz/sizeof(u32int)], 0, sz-osz); } return p;}#include "sl.h"
u32int *
bitvector_resize(u32int *b, u64int oldsz, u64int newsz, bool zero)
{
u32int *p;
usize sz = ((newsz+31)>>5) * sizeof(u32int);
p = MEM_REALLOC(b, sz);
if(p == nil)
return nil;
if(zero && newsz > oldsz){
usize osz = ((oldsz+31)>>5) * sizeof(u32int);
memset(&p[osz/sizeof(u32int)], 0, sz-osz);
}
return p;
}