diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-02-11 13:39:50 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-02-11 13:39:50 -0800 |
commit | 092c4be7f5d691809913eb83a2360f035c67ab06 (patch) | |
tree | 5dfeb837fe69c3295daf4106c06436a16abae7e7 /builtin/blame.c | |
parent | 5c9c3dfaff886d9882252f03b7f5a11c435f5688 (diff) | |
parent | a46442f1675722eb68238b329a4a285f03f41dda (diff) | |
download | git-092c4be7f5d691809913eb83a2360f035c67ab06.tar.gz |
Merge branch 'jk/blame-commit-label'
"git blame HEAD -- missing" failed to correctly say "HEAD" when it
tried to say "No such path 'missing' in HEAD".
* jk/blame-commit-label:
blame.c: fix garbled error message
use xstrdup_or_null to replace ternary conditionals
builtin/commit.c: use xstrdup_or_null instead of envdup
builtin/apply.c: use xstrdup_or_null instead of null_strdup
git-compat-util: add xstrdup_or_null helper
Diffstat (limited to 'builtin/blame.c')
-rw-r--r-- | builtin/blame.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/builtin/blame.c b/builtin/blame.c index 303e217ae9..0374fe8056 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2390,7 +2390,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, return commit; } -static const char *prepare_final(struct scoreboard *sb) +static char *prepare_final(struct scoreboard *sb) { int i; const char *final_commit_name = NULL; @@ -2415,10 +2415,10 @@ static const char *prepare_final(struct scoreboard *sb) sb->final = (struct commit *) obj; final_commit_name = revs->pending.objects[i].name; } - return final_commit_name; + return xstrdup_or_null(final_commit_name); } -static const char *prepare_initial(struct scoreboard *sb) +static char *prepare_initial(struct scoreboard *sb) { int i; const char *final_commit_name = NULL; @@ -2445,7 +2445,7 @@ static const char *prepare_initial(struct scoreboard *sb) } if (!final_commit_name) die("No commit to dig down to?"); - return final_commit_name; + return xstrdup(final_commit_name); } static int blame_copy_callback(const struct option *option, const char *arg, int unset) @@ -2489,7 +2489,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix) struct origin *o; struct blame_entry *ent = NULL; long dashdash_pos, lno; - const char *final_commit_name = NULL; + char *final_commit_name = NULL; enum object_type type; static struct string_list range_list; @@ -2786,6 +2786,8 @@ parse_done: assign_blame(&sb, opt); + free(final_commit_name); + if (incremental) return 0; |