Mercurial > hg-stable
changeset 28165:c6705c6303dd
chg: add utility functions mallocx, reallocx
They are like malloc and realloc but will abort the program on error.
A lot of places use {m,re}alloc and check their results. This patch
can simplify them.
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 17 Feb 2016 14:51:38 +0000 |
parents | ad11edefa7c4 |
children | c6e0c2533e5f |
files | contrib/chg/util.c contrib/chg/util.h |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/chg/util.c Mon Feb 15 13:20:20 2016 -0800 +++ b/contrib/chg/util.c Wed Feb 17 14:51:38 2016 +0000 @@ -50,6 +50,22 @@ va_end(args); } +void *mallocx(size_t size) +{ + void *result = malloc(size); + if (!result) + abortmsg("failed to malloc"); + return result; +} + +void *reallocx(void *ptr, size_t size) +{ + void *result = realloc(ptr, size); + if (!result) + abortmsg("failed to realloc"); + return result; +} + /* * Execute a shell command in mostly the same manner as system(), with the * give environment variables, after chdir to the given cwd. Returns a status
--- a/contrib/chg/util.h Mon Feb 15 13:20:20 2016 -0800 +++ b/contrib/chg/util.h Wed Feb 17 14:51:38 2016 +0000 @@ -19,6 +19,9 @@ void enabledebugmsg(void); void debugmsg(const char *fmt, ...) PRINTF_FORMAT_; +void *mallocx(size_t size); +void *reallocx(void *ptr, size_t size); + int runshellcmd(const char *cmd, const char *envp[], const char *cwd); #endif /* UTIL_H_ */