Large cummulative patch for pic16 port.
[fw/sdcc] / device / lib / pic16 / libc / stdlib / calloc.c
1 /*
2  * malloc.c - dynamic memory allocation
3  *
4  * written by Vangelis Rokas, 2004 (vrokas@otenet.gr)
5  *
6  */
7
8 #include "malloc.h"
9
10 extern unsigned char *_dynamicHeap;     /* pointer to heap */
11
12 unsigned char *calloc(unsigned char num)        //, unsigned char len)
13 {
14   unsigned char len=num;
15   unsigned char total;
16   unsigned char *result, *ch;
17
18         total = num * len;
19         if(total > MAX_BLOCK_SIZE)return ((unsigned char *)0);
20         result = ch = malloc( (char)(total) );
21         
22         if(result != 0) {
23                 while(total) {
24                   total--;
25                   *ch = 0;
26                   ch++;
27                 }
28         }
29   
30   return (result);
31 }