From edfd45d2a0fc85d55479e13e8e3dc7e975a313ce Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 17 Dec 2008 12:37:53 -0800 Subject: [PATCH] builtin-blame.c: use strbuf_readlink() When faking a commit out of the work tree contents, use strbuf_readlink() to read the contents of symbolic links. Signed-off-by: Junio C Hamano Acked-by: Linus Torvalds --- builtin-blame.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/builtin-blame.c b/builtin-blame.c index a0d60145f..aae14ef8b 100644 --- a/builtin-blame.c +++ b/builtin-blame.c @@ -1996,7 +1996,6 @@ static struct commit *fake_working_tree_commit(const char *path, const char *con if (!contents_from || strcmp("-", contents_from)) { struct stat st; const char *read_from; - unsigned long fin_size; if (contents_from) { if (stat(contents_from, &st) < 0) @@ -2008,7 +2007,6 @@ static struct commit *fake_working_tree_commit(const char *path, const char *con die("Cannot lstat %s", path); read_from = path; } - fin_size = xsize_t(st.st_size); mode = canon_mode(st.st_mode); switch (st.st_mode & S_IFMT) { case S_IFREG: @@ -2016,9 +2014,8 @@ static struct commit *fake_working_tree_commit(const char *path, const char *con die("cannot open or read %s", read_from); break; case S_IFLNK: - if (readlink(read_from, buf.buf, buf.alloc) != fin_size) + if (strbuf_readlink(&buf, read_from, st.st_size) < 0) die("cannot readlink %s", read_from); - buf.len = fin_size; break; default: die("unsupported file type %s", read_from); -- 2.30.2