diff options
author | Ray Lai <ray@cvs.openbsd.org> | 2009-06-07 08:39:14 +0000 |
---|---|---|
committer | Ray Lai <ray@cvs.openbsd.org> | 2009-06-07 08:39:14 +0000 |
commit | 8896fb155a60da615a44f9b4f57e849d2d826fbb (patch) | |
tree | 9994931387b3cfb5f8e8de66ec0c5f2e63c4132b /usr.bin/diff/xmalloc.c | |
parent | cf7eb25db5ce1f28444b090d61344d49803d57d3 (diff) |
More cvs/diff/rcs convergence:
1. Mostly variable/function renaming, SIZE_T_MAX->SIZE_MAX, and
spacing.
2. One strchr -> strncspn.
3. diff had a weird thing where it set file[12] = ofile[12] but
never updated file or ofile, then if file and ofile were different
it freed it. I removed it.
OK millert
Diffstat (limited to 'usr.bin/diff/xmalloc.c')
-rw-r--r-- | usr.bin/diff/xmalloc.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/usr.bin/diff/xmalloc.c b/usr.bin/diff/xmalloc.c index 125a6deea3b..b5340a9fa60 100644 --- a/usr.bin/diff/xmalloc.c +++ b/usr.bin/diff/xmalloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.c,v 1.1 2007/05/29 18:24:56 ray Exp $ */ +/* $OpenBSD: xmalloc.c,v 1.2 2009/06/07 08:39:13 ray Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -36,6 +36,22 @@ xmalloc(size_t size) } void * +xcalloc(size_t nmemb, size_t size) +{ + void *ptr; + + if (size == 0 || nmemb == 0) + errx(1, "xcalloc: zero size"); + if (SIZE_MAX / nmemb < size) + errx(1, "xcalloc: nmemb * size > SIZE_MAX"); + ptr = calloc(nmemb, size); + if (ptr == NULL) + errx(1, "xcalloc: out of memory (allocating %lu bytes)", + (u_long)(size * nmemb)); + return ptr; +} + +void * xrealloc(void *ptr, size_t nmemb, size_t size) { void *new_ptr; @@ -43,7 +59,7 @@ xrealloc(void *ptr, size_t nmemb, size_t size) if (new_size == 0) errx(2, NULL); - if (SIZE_T_MAX / nmemb < size) + if (SIZE_MAX / nmemb < size) errx(2, NULL); if (ptr == NULL) new_ptr = malloc(new_size); |