From: brian m. carlson Date: Tue, 19 Feb 2019 00:05:22 +0000 (+0000) Subject: builtin/difftool: use parse_oid_hex X-Git-Tag: v2.22.0-rc0~58^2~4 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/ebe4df59c45ea95ce51fd8fede2a08d9009e990f?ds=sidebyside builtin/difftool: use parse_oid_hex Instead of using get_oid_hex and adding constants to the result, use parse_oid_hex to make this code independent of the hash size. Additionally, correct a typo that would cause us to print one too few characters on error, since we will already have incremented the pointer to point to the beginning of the object ID before we get to printing the error message. Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- diff --git a/builtin/difftool.c b/builtin/difftool.c index a3ea60ea71..5fa83f481e 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -65,14 +65,12 @@ static int parse_index_info(char *p, int *mode1, int *mode2, *mode2 = (int)strtol(p + 1, &p, 8); if (*p != ' ') return error("expected ' ', got '%c'", *p); - if (get_oid_hex(++p, oid1)) - return error("expected object ID, got '%s'", p + 1); - p += GIT_SHA1_HEXSZ; + if (parse_oid_hex(++p, oid1, (const char **)&p)) + return error("expected object ID, got '%s'", p); if (*p != ' ') return error("expected ' ', got '%c'", *p); - if (get_oid_hex(++p, oid2)) - return error("expected object ID, got '%s'", p + 1); - p += GIT_SHA1_HEXSZ; + if (parse_oid_hex(++p, oid2, (const char **)&p)) + return error("expected object ID, got '%s'", p); if (*p != ' ') return error("expected ' ', got '%c'", *p); *status = *++p;