summaryrefslogtreecommitdiff
path: root/src/kmk/electric.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kmk/electric.c')
-rw-r--r--src/kmk/electric.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/kmk/electric.c b/src/kmk/electric.c
index c8d0235..21a4b11 100644
--- a/src/kmk/electric.c
+++ b/src/kmk/electric.c
@@ -1,4 +1,4 @@
-/* $Id: electric.c 2413 2010-09-11 17:43:04Z bird $ */
+/* $Id: electric.c 2626 2012-08-09 14:11:47Z bird $ */
/** @file
* A simple electric heap implementation.
*/
@@ -158,11 +158,11 @@ xmalloc (unsigned int size)
}
void *
-xcalloc (size_t size, size_t items)
+xcalloc (unsigned size)
{
void *result;
- result = xmalloc (size * items);
- return memset (result, 0, size * items);
+ result = xmalloc (size);
+ return memset (result, 0, size);
}
void *
@@ -183,9 +183,13 @@ xrealloc (void *ptr, unsigned int size)
char *
xstrdup (const char *ptr)
{
- size_t size = strlen (ptr) + 1;
- char *result = xmalloc (size);
- return memcpy (result, ptr, size);
+ if (ptr)
+ {
+ size_t size = strlen (ptr) + 1;
+ char *result = xmalloc (size);
+ return memcpy (result, ptr, size);
+ }
+ return NULL;
}
#else /* !ELECTRIC_HEAP */