diff options
| author | Mike Jones <mjjones@us.ibm.com> | 2012-04-13 09:35:42 -0500 | 
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-04-14 09:15:04 -0500 | 
| commit | 7e30eba46d1e6cd145ac4db5fd92383c369cf5aa (patch) | |
| tree | f827dd7c74c5349bc23dc707baefa8d43a30416f | |
| parent | c43ba8893dcce5fd1f1bdb23111c99f779eb2f01 (diff) | |
| download | blackbird-hostboot-7e30eba46d1e6cd145ac4db5fd92383c369cf5aa.tar.gz blackbird-hostboot-7e30eba46d1e6cd145ac4db5fd92383c369cf5aa.zip | |
stdlib.h Add calloc
The pending proc_slw_build HWP wants to use calloc.
Patrick agreed that we should add calloc to Hostboot.
Change-Id: I27dee327446f5b48de33c494231aaa4710f40342
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/893
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
| -rw-r--r-- | src/include/stdlib.h | 1 | ||||
| -rw-r--r-- | src/lib/stdlib.C | 15 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/src/include/stdlib.h b/src/include/stdlib.h index e9995128e..ef2859de5 100644 --- a/src/include/stdlib.h +++ b/src/include/stdlib.h @@ -33,6 +33,7 @@ extern "C"  void* malloc(size_t);  void free(void*);  void* realloc(void*, size_t); +void* calloc(size_t, size_t);  #ifdef __cplusplus  }; diff --git a/src/lib/stdlib.C b/src/lib/stdlib.C index d9fa9e9fc..f0c3fad74 100644 --- a/src/lib/stdlib.C +++ b/src/lib/stdlib.C @@ -77,3 +77,18 @@ void* realloc(void* p, size_t s)      return HeapManager::realloc(p,s);  }     +void* calloc(size_t num, size_t size) +{ +    // Allocate a block of memory for an array of 'num' elements, each of them +    // 'size' bytes long and initialize to zero +    size_t total_size = num * size; +    void* mem = NULL; + +    if (total_size) +    { +        mem = malloc(total_size); +        memset(mem, 0, total_size); +    } + +    return mem; +} | 

