aboutsummaryrefslogtreecommitdiff
path: root/include/08.heap/heap23.c
blob: 4eaf953eed121600d696a995ef744cc2977d87b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
    for (b = heap->fblock; b; b = b->next)
    {
        if ((uintptr_t)ptr > (uintptr_t)b && (uintptr_t)ptr < (uintptr_t)b +
                sizeof(KHEAPBLOCKBM) + b->size) {
            /* found block */
            ptroff = (uintptr_t)ptr - (uintptr_t)&b[1];  /* get offset to get
                                                            block */
            /* block offset in BM */
            bi = ptroff / b->bsize;
            /* .. */
            bm = (uint8_t*)&b[1];