X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin%2Fblame.c;h=80febbe420db1c75bbcf7eda6a733e7e66549790;hb=3f59481e338c2d3167b9654a4289a9d1201f7944;hp=26a5d424b8ceb0fd403a492e46e3637fd35068ba;hpb=ac7acaa5d98077f7cf900461d5d7ddfebdcc08d3;p=git.git diff --git a/builtin/blame.c b/builtin/blame.c index 26a5d424b..80febbe42 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2096,6 +2096,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, if (!contents_from || strcmp("-", contents_from)) { struct stat st; const char *read_from; + char *buf_ptr; unsigned long buf_len; if (contents_from) { @@ -2113,8 +2114,8 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, switch (st.st_mode & S_IFMT) { case S_IFREG: if (DIFF_OPT_TST(opt, ALLOW_TEXTCONV) && - textconv_object(read_from, mode, null_sha1, &buf.buf, &buf_len)) - buf.len = buf_len; + textconv_object(read_from, mode, null_sha1, &buf_ptr, &buf_len)) + strbuf_attach(&buf, buf_ptr, buf_len, buf_len + 1); else if (strbuf_read_file(&buf, read_from, st.st_size) != st.st_size) die_errno("cannot open or read '%s'", read_from); break;