diff options
author | Shawn Pearce <spearce@spearce.org> | 2006-09-02 00:16:31 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-02 03:24:37 -0700 |
commit | 9befac470b4cfad529032dbcffcb71242ec71f91 (patch) | |
tree | f3715172da747456dd63c6d80c3f1e0a7d6f2d56 /git-compat-util.h | |
parent | ad1ed5ee896ba5d7f89bc04c7441b1532efb9853 (diff) | |
download | git-9befac470b4cfad529032dbcffcb71242ec71f91.tar.gz |
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.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index 91f2b0d3f0..552b8ec23a 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); |