Merge branch 'bc/hash-transition-16'
Conversion from unsigned char[20] to struct object_id continues. * bc/hash-transition-16: (35 commits) gitweb: make hash size independent Git.pm: make hash size independent read-cache: read data in a hash-independent way dir: make untracked cache extension hash size independent builtin/difftool: use parse_oid_hex refspec: make hash size independent archive: convert struct archiver_args to object_id builtin/get-tar-commit-id: make hash size independent get-tar-commit-id: parse comment record hash: add a function to lookup hash algorithm by length remote-curl: make hash size independent http: replace sha1_to_hex http: compute hash of downloaded objects using the_hash_algo http: replace hard-coded constant with the_hash_algo http-walker: replace sha1_to_hex http-push: remove remaining uses of sha1_to_hex http-backend: allow 64-character hex names http-push: convert to use the_hash_algo builtin/pull: make hash-size independent builtin/am: make hash size independent ...
This commit is contained in:
@ -486,23 +486,24 @@ static int copy_notes_for_rebase(const struct am_state *state)
|
||||
|
||||
while (!strbuf_getline_lf(&sb, fp)) {
|
||||
struct object_id from_obj, to_obj;
|
||||
const char *p;
|
||||
|
||||
if (sb.len != GIT_SHA1_HEXSZ * 2 + 1) {
|
||||
if (sb.len != the_hash_algo->hexsz * 2 + 1) {
|
||||
ret = error(invalid_line, sb.buf);
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (get_oid_hex(sb.buf, &from_obj)) {
|
||||
if (parse_oid_hex(sb.buf, &from_obj, &p)) {
|
||||
ret = error(invalid_line, sb.buf);
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (sb.buf[GIT_SHA1_HEXSZ] != ' ') {
|
||||
if (*p != ' ') {
|
||||
ret = error(invalid_line, sb.buf);
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (get_oid_hex(sb.buf + GIT_SHA1_HEXSZ + 1, &to_obj)) {
|
||||
if (get_oid_hex(p + 1, &to_obj)) {
|
||||
ret = error(invalid_line, sb.buf);
|
||||
goto finish;
|
||||
}
|
||||
|
Reference in New Issue
Block a user