summaryrefslogtreecommitdiff
path: root/src/libstddjb/genalloc_deepfree.c
blob: 16843748418b237353e49242b580958158461ded (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
/* ISC license. */

#include <sys/types.h>
#include <skalibs/stralloc.h>
#include <skalibs/genalloc.h>

void genalloc_deepfree_size (genalloc *g, freefunc_t_ref f, size_t size)
{
  size_t len = g->len / size ;
  size_t i = 0 ;
  for (; i < len ; i++) (*f)(g->s + i * size) ;
  stralloc_free(g) ;
}