summaryrefslogtreecommitdiff
path: root/util.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2009-01-05 12:50:23 +1100
committerJon Loeliger <jdl@example.com>2009-01-07 09:46:04 -0600
commitb2b4990bbf03a1b9def187cbc37488eed66a182c (patch)
treee2804549856de22dda0d8fa0d6d931d08c380357 /util.h
parent75bdd849dc3083038113791c4050746999d60989 (diff)
downloaddtc-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.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/util.h b/util.h
index 1fa78eb..0fb60fe 100644
--- a/util.h
+++ b/util.h
@@ -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 */