Annotation of researchv9/libc/gen/calloc.c, revision 1.1.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.