summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-02-24 12:01:59 -0800
committerH. Peter Anvin <hpa@zytor.com>2010-02-24 12:01:59 -0800
commit4a7384712116be8b1888b470a4126c193cb5e80b (patch)
treefebf9ff6392da12708ab9347a3a344b1b4df570b
parent6d49c6741e71722a1c25bc1d7db30e6833898f9e (diff)
downloadsyslinux-4a7384712116be8b1888b470a4126c193cb5e80b.tar.gz
com32: add lzalloc()
Add lzalloc(). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--com32/include/com32.h1
-rw-r--r--com32/lib/lmalloc.c11
2 files changed, 12 insertions, 0 deletions
diff --git a/com32/include/com32.h b/com32/include/com32.h
index abbb9bfa..252dab5a 100644
--- a/com32/include/com32.h
+++ b/com32/include/com32.h
@@ -120,6 +120,7 @@ extern const com32sys_t __com32_zero_regs;
* Lowmem allocation functions
*/
void *lmalloc(size_t);
+void *lzalloc(size_t);
void lfree(void *);
char *lstrdup(const char *);
diff --git a/com32/lib/lmalloc.c b/com32/lib/lmalloc.c
index cbd39a37..a74f79e9 100644
--- a/com32/lib/lmalloc.c
+++ b/com32/lib/lmalloc.c
@@ -39,6 +39,17 @@ void *lmalloc(size_t size)
return p;
}
+void *lzalloc(size_t size)
+{
+ void *p;
+ p = __com32.cs_pm->lmalloc(size);
+ if (!p)
+ errno = ENOMEM;
+ else
+ memset(p, 0, size);
+ return p;
+}
+
void lfree(void *ptr)
{
__com32.cs_pm->lfree(ptr);