handle_revision_arg: stop using "dotdot" as a generic pointer

The handle_revision_arg() function has a "dotdot" variable
that it uses to find a ".." or "..." in the argument. If we
don't find one, we look for other marks, like "^!". But we
just keep re-using the "dotdot" variable, which is
confusing.

Let's introduce a separate "mark" variable that can be used
for these other marks. They still reuse the same variable,
but at least the name is no longer actively misleading.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King
2017-05-19 08:50:07 -04:00
committed by Junio C Hamano
parent 1d6c93817b
commit f632dedd8d

View File

@ -1433,6 +1433,7 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
{ {
struct object_context oc; struct object_context oc;
char *dotdot; char *dotdot;
char *mark;
struct object *object; struct object *object;
unsigned char sha1[20]; unsigned char sha1[20];
int local_flags; int local_flags;
@ -1529,33 +1530,33 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
*dotdot = '.'; *dotdot = '.';
} }
dotdot = strstr(arg, "^@"); mark = strstr(arg, "^@");
if (dotdot && !dotdot[2]) { if (mark && !mark[2]) {
*dotdot = 0; *mark = 0;
if (add_parents_only(revs, arg, flags, 0)) if (add_parents_only(revs, arg, flags, 0))
return 0; return 0;
*dotdot = '^'; *mark = '^';
} }
dotdot = strstr(arg, "^!"); mark = strstr(arg, "^!");
if (dotdot && !dotdot[2]) { if (mark && !mark[2]) {
*dotdot = 0; *mark = 0;
if (!add_parents_only(revs, arg, flags ^ (UNINTERESTING | BOTTOM), 0)) if (!add_parents_only(revs, arg, flags ^ (UNINTERESTING | BOTTOM), 0))
*dotdot = '^'; *mark = '^';
} }
dotdot = strstr(arg, "^-"); mark = strstr(arg, "^-");
if (dotdot) { if (mark) {
int exclude_parent = 1; int exclude_parent = 1;
if (dotdot[2]) { if (mark[2]) {
char *end; char *end;
exclude_parent = strtoul(dotdot + 2, &end, 10); exclude_parent = strtoul(mark + 2, &end, 10);
if (*end != '\0' || !exclude_parent) if (*end != '\0' || !exclude_parent)
return -1; return -1;
} }
*dotdot = 0; *mark = 0;
if (!add_parents_only(revs, arg, flags ^ (UNINTERESTING | BOTTOM), exclude_parent)) if (!add_parents_only(revs, arg, flags ^ (UNINTERESTING | BOTTOM), exclude_parent))
*dotdot = '^'; *mark = '^';
} }
local_flags = 0; local_flags = 0;