diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2009-01-05 12:50:23 +1100 |
---|---|---|
committer | Jon Loeliger <jdl@example.com> | 2009-01-07 09:46:04 -0600 |
commit | b2b4990bbf03a1b9def187cbc37488eed66a182c (patch) | |
tree | e2804549856de22dda0d8fa0d6d931d08c380357 /util.h | |
parent | 75bdd849dc3083038113791c4050746999d60989 (diff) | |
download | dtc-b2b4990bbf03a1b9def187cbc37488eed66a182c.tar.gz |
dtc: Move some functions to util.[ch]
Now that we have a util.[ch] file shared between dtc and
convert-dtsv0, move some functions which are currently duplicated in
the two to util files. Specifically we move the die(), xmalloc() and
xrealloc() functions.
While we're at it, add standard double-include protection to util.h
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'util.h')
-rw-r--r-- | util.h | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -1,3 +1,6 @@ +#ifndef _UTIL_H +#define _UTIL_H + /* * Copyright 2008 Jon Loeliger, Freescale Semiconductor, Inc. * @@ -17,4 +20,36 @@ * USA */ +static inline void __attribute__((noreturn)) die(char * str, ...) +{ + va_list ap; + + va_start(ap, str); + fprintf(stderr, "FATAL ERROR: "); + vfprintf(stderr, str, ap); + exit(1); +} + +static inline void *xmalloc(size_t len) +{ + void *new = malloc(len); + + if (!new) + die("malloc() failed\n"); + + return new; +} + +static inline void *xrealloc(void *p, size_t len) +{ + void *new = realloc(p, len); + + if (!new) + die("realloc() failed (len=%d)\n", len); + + return new; +} + extern char *xstrdup(const char *s); + +#endif /* _UTIL_H */ |