Annotation of coherent/b/lib/libc/gen/malloc/notmem.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * notmem.c
                      3:  * Test if pointer is in malloc arena.
                      4:  */
                      5: 
                      6: #include <stdio.h>
                      7: #include <sys/malloc.h>
                      8: 
                      9: /*
                     10:  * Return 1 if cp is not in the malloc arena,
                     11:  * 0 if cp is in the malloc arena, or
                     12:  * -1 if trouble is detected in the arena.
                     13:  * Note that this returns 0 for freed blocks in the arena.
                     14:  */
                     15: notmem(cp) char *cp;
                     16: {
                     17:        register unsigned len, counter;
                     18:        register MBLOCK *mp, *ap;
                     19: 
                     20:        if (cp == NULL
                     21:           || (mp = __a_scanp) == NULL
                     22:           || ((ap = mblockp(cp))->blksize) == 0)
                     23:                return 1;                       /* obviously bad */
                     24: 
                     25:        for (counter = __a_count; counter--; ) {
                     26:                if (mp == ap)
                     27:                        return 0;               /* obviously good */
                     28:                len = mp->blksize;
                     29:                mp = (len) ? bumpp(mp, realsize(len)) : mp->uval.next;
                     30:        }
                     31:        if (mp != __a_scanp)
                     32:                return -1;                      /* trouble in arena */
                     33:        return 1;                               /* not found */
                     34: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.