aboutsummaryrefslogtreecommitdiff
path: root/git-compat-util.h
diff options
context:
space:
mode:
authorShawn Pearce <spearce@spearce.org>2006-09-02 00:16:31 -0400
committerJunio C Hamano <junkio@cox.net>2006-09-02 03:24:37 -0700
commit9befac470b4cfad529032dbcffcb71242ec71f91 (patch)
treef3715172da747456dd63c6d80c3f1e0a7d6f2d56 /git-compat-util.h
parentad1ed5ee896ba5d7f89bc04c7441b1532efb9853 (diff)
downloadgit-9befac470b4cfad529032dbcffcb71242ec71f91.tar.gz
git-9befac470b4cfad529032dbcffcb71242ec71f91.tar.xz
Replace uses of strdup with xstrdup.
Like xmalloc and xrealloc xstrdup dies with a useful message if the native strdup() implementation returns NULL rather than a valid pointer. I just tried to use xstrdup in new code and found it to be missing. However I expected it to be present as xmalloc and xrealloc are already commonly used throughout the code. [jc: removed the part that deals with last_XXX, which I am finding more and more dubious these days.] Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-compat-util.h')
-rw-r--r--git-compat-util.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h
index 91f2b0d3f..552b8ec23 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -84,6 +84,14 @@ extern char *gitstrcasestr(const char *haystack, const char *needle);
extern size_t gitstrlcpy(char *, const char *, size_t);
#endif
+static inline char* xstrdup(const char *str)
+{
+ char *ret = strdup(str);
+ if (!ret)
+ die("Out of memory, strdup failed");
+ return ret;
+}
+
static inline void *xmalloc(size_t size)
{
void *ret = malloc(size);