Signed-off-by: Jonas Fonseca <fonseca@xxxxxxx> --- dir.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) Junio C Hamano <junkio@xxxxxxx> wrote Sat, Aug 26, 2006: > Linus Torvalds <torvalds@xxxxxxxx> writes: > > > I really think you'd be better off rewriting that to use "fstat()" > > instead. I don't know why it uses two lseek's, but it's wrong, and looks > > like some bad habit Junio picked up at some point. > > I think the code was written to avoid getting confused by > unseekable input (pipes) but was done in early morning before > the first shot of caffeine. I take it that you want this change, so here's a little addition to the "use X instead of Y" series. diff --git a/dir.c b/dir.c index d53d48f..5a40d8f 100644 --- a/dir.c +++ b/dir.c @@ -112,17 +112,15 @@ static int add_excludes_from_file_1(cons int baselen, struct exclude_list *which) { + struct stat st; int fd, i; long size; char *buf, *entry; fd = open(fname, O_RDONLY); - if (fd < 0) + if (fd < 0 || fstat(fd, &st) < 0) goto err; - size = lseek(fd, 0, SEEK_END); - if (size < 0) - goto err; - lseek(fd, 0, SEEK_SET); + size = st.st_size; if (size == 0) { close(fd); return 0; -- 1.4.2.g2f76-dirty -- Jonas Fonseca - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html