diff options
author | Johan Herland <johan@herland.net> | 2014-11-12 01:40:12 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-11-12 10:58:09 -0800 |
commit | b0de56c6a5bb41da71babafefc9207b0fc211d66 (patch) | |
tree | efe53a71152b5399a6a662c5e30b6bda21daf9b9 /builtin/notes.c | |
parent | builtin/notes: refactor note file path into struct note_data (diff) | |
download | tgif-b0de56c6a5bb41da71babafefc9207b0fc211d66.tar.xz |
builtin/notes: simplify early exit code in add()
Remove the need for 'retval' and the unnecessary goto. Also reorganize
to only call free_note_data() is actually needed.
Improved-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/notes.c')
-rw-r--r-- | builtin/notes.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/builtin/notes.c b/builtin/notes.c index 101747243a..acdedbdf5a 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -399,7 +399,7 @@ static int append_edit(int argc, const char **argv, const char *prefix); static int add(int argc, const char **argv, const char *prefix) { - int retval = 0, force = 0; + int force = 0; const char *object_ref; struct notes_tree *t; unsigned char object[20], new_note[20]; @@ -441,23 +441,23 @@ static int add(int argc, const char **argv, const char *prefix) if (note) { if (!force) { - if (!d.given) { - /* - * Redirect to "edit" subcommand. - * - * We only end up here if none of -m/-F/-c/-C - * or -f are given. The original args are - * therefore still in argv[0-1]. - */ - argv[0] = "edit"; + free_notes(t); + if (d.given) { free_note_data(&d); - free_notes(t); - return append_edit(argc, argv, prefix); + return error(_("Cannot add notes. " + "Found existing notes for object %s. " + "Use '-f' to overwrite existing notes"), + sha1_to_hex(object)); } - retval = error(_("Cannot add notes. Found existing notes " - "for object %s. Use '-f' to overwrite " - "existing notes"), sha1_to_hex(object)); - goto out; + /* + * Redirect to "edit" subcommand. + * + * We only end up here if none of -m/-F/-c/-C or -f are + * given. The original args are therefore still in + * argv[0-1]. + */ + argv[0] = "edit"; + return append_edit(argc, argv, prefix); } fprintf(stderr, _("Overwriting existing notes for object %s\n"), sha1_to_hex(object)); @@ -474,9 +474,8 @@ static int add(int argc, const char **argv, const char *prefix) snprintf(logmsg, sizeof(logmsg), "Notes %s by 'git notes %s'", is_null_sha1(new_note) ? "removed" : "added", "add"); commit_notes(t, logmsg); -out: free_notes(t); - return retval; + return 0; } static int copy(int argc, const char **argv, const char *prefix) |