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>
This commit is contained in:
Shawn Pearce
2006-09-02 00:16:31 -04:00
committed by Junio C Hamano
parent ad1ed5ee89
commit 9befac470b
34 changed files with 84 additions and 76 deletions

View File

@ -513,8 +513,8 @@ static char *unique_path(const char *path, const char *branch)
static int mkdir_p(const char *path, unsigned long mode)
{
/* path points to cache entries, so strdup before messing with it */
char *buf = strdup(path);
/* path points to cache entries, so xstrdup before messing with it */
char *buf = xstrdup(path);
int result = safe_create_leading_directories(buf);
free(buf);
return result;
@ -668,9 +668,9 @@ static struct merge_file_info merge_file(struct diff_filespec *o,
git_unpack_file(a->sha1, src1);
git_unpack_file(b->sha1, src2);
argv[2] = la = strdup(mkpath("%s/%s", branch1, a->path));
argv[6] = lb = strdup(mkpath("%s/%s", branch2, b->path));
argv[4] = lo = strdup(mkpath("orig/%s", o->path));
argv[2] = la = xstrdup(mkpath("%s/%s", branch1, a->path));
argv[6] = lb = xstrdup(mkpath("%s/%s", branch2, b->path));
argv[4] = lo = xstrdup(mkpath("orig/%s", o->path));
argv[7] = src1;
argv[8] = orig;
argv[9] = src2,
@ -1314,9 +1314,9 @@ int main(int argc, char *argv[])
original_index_file = getenv("GIT_INDEX_FILE");
if (!original_index_file)
original_index_file = strdup(git_path("index"));
original_index_file = xstrdup(git_path("index"));
temporary_index_file = strdup(git_path("mrg-rcrsv-tmp-idx"));
temporary_index_file = xstrdup(git_path("mrg-rcrsv-tmp-idx"));
if (argc < 4)
die("Usage: %s <base>... -- <head> <remote> ...\n", argv[0]);