diff options
| author | millert <> | 1999-11-10 20:12:31 +0000 |
|---|---|---|
| committer | millert <> | 1999-11-10 20:12:31 +0000 |
| commit | 97d0d1b9cdde83cad131a8958b37c806ca2ae6c8 (patch) | |
| tree | 69f5b879a38e8843415014af37d0e31df7f77d69 /src/lib/libc/stdlib/malloc.c | |
| parent | 804f568be8b94c5d121b519265452c56bd2efb50 (diff) | |
| download | openbsd-97d0d1b9cdde83cad131a8958b37c806ca2ae6c8.tar.gz openbsd-97d0d1b9cdde83cad131a8958b37c806ca2ae6c8.tar.bz2 openbsd-97d0d1b9cdde83cad131a8958b37c806ca2ae6c8.zip | |
calloc() needs to be separate from malloc in case a user wants to have
their own malloc() implementation.
Diffstat (limited to 'src/lib/libc/stdlib/malloc.c')
| -rw-r--r-- | src/lib/libc/stdlib/malloc.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index 3582d7980c..88e25995f3 100644 --- a/src/lib/libc/stdlib/malloc.c +++ b/src/lib/libc/stdlib/malloc.c | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | */ | 8 | */ |
| 9 | 9 | ||
| 10 | #if defined(LIBC_SCCS) && !defined(lint) | 10 | #if defined(LIBC_SCCS) && !defined(lint) |
| 11 | static char rcsid[] = "$OpenBSD: malloc.c,v 1.37 1999/11/09 19:25:33 millert Exp $"; | 11 | static char rcsid[] = "$OpenBSD: malloc.c,v 1.38 1999/11/10 20:12:31 millert Exp $"; |
| 12 | #endif /* LIBC_SCCS and not lint */ | 12 | #endif /* LIBC_SCCS and not lint */ |
| 13 | 13 | ||
| 14 | /* | 14 | /* |
| @@ -1278,27 +1278,3 @@ realloc(void *ptr, size_t size) | |||
| 1278 | wrterror("out of memory.\n"); | 1278 | wrterror("out of memory.\n"); |
| 1279 | return (r); | 1279 | return (r); |
| 1280 | } | 1280 | } |
| 1281 | |||
| 1282 | void * | ||
| 1283 | calloc(size_t num, size_t size) | ||
| 1284 | { | ||
| 1285 | register void *r; | ||
| 1286 | |||
| 1287 | malloc_func = " in calloc():"; | ||
| 1288 | THREAD_LOCK(); | ||
| 1289 | if (malloc_active++) { | ||
| 1290 | wrtwarning("recursive call.\n"); | ||
| 1291 | malloc_active--; | ||
| 1292 | return (0); | ||
| 1293 | } | ||
| 1294 | size *= num; | ||
| 1295 | r = imalloc(size); | ||
| 1296 | if (r && !malloc_zero) | ||
| 1297 | memset(r, 0, size) | ||
| 1298 | UTRACE(0, size, r); | ||
| 1299 | malloc_active--; | ||
| 1300 | THREAD_UNLOCK(); | ||
| 1301 | if (malloc_xmalloc && !r) | ||
| 1302 | wrterror("out of memory.\n"); | ||
| 1303 | return (r); | ||
| 1304 | } | ||
