Annotation of researchv9/libc/gen/calloc.c, revision 1.1

1.1     ! root        1: /*     calloc - allocate and clear memory block
        !             2: */
        !             3: #define CHARPERINT (sizeof(int)/sizeof(char))
        !             4: #define NULL 0
        !             5: 
        !             6: char *
        !             7: calloc(num, size)
        !             8: unsigned num, size;
        !             9: {
        !            10:        register char *mp;
        !            11:        char *malloc();
        !            12:        register int *q;
        !            13:        register m;
        !            14: 
        !            15:        num *= size;
        !            16:        mp = malloc(num);
        !            17:        if(mp == NULL)
        !            18:                return(NULL);
        !            19:        q = (int *) mp;
        !            20:        m = (num+CHARPERINT-1)/CHARPERINT;
        !            21:        while(--m>=0)
        !            22:                *q++ = 0;
        !            23:        return(mp);
        !            24: }
        !            25: 
        !            26: cfree(p, num, size)
        !            27: char *p;
        !            28: unsigned num, size;
        !            29: {
        !            30:        free(p);
        !            31: }

unix.superglobalmegacorp.com

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