builtin/blame.c::find_copy_in_blob: no need to scan for region end
authorDavid Kastrup <dak@gnu.org>
Sat, 22 Feb 2014 16:02:47 +0000 (17:02 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 25 Feb 2014 17:51:24 +0000 (09:51 -0800)
The region end can be looked up just like its beginning.

Signed-off-by: David Kastrup <dak@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/blame.c
index ec1955d1b060c03bc17d2a9096d40e5a1e1aa27c..1c692d890dabe3851298fbdf545cf9568deb44e0 100644 (file)
@@ -923,7 +923,6 @@ static void find_copy_in_blob(struct scoreboard *sb,
                              mmfile_t *file_p)
 {
        const char *cp;
-       int cnt;
        mmfile_t file_o;
        struct handle_split_cb_data d;
 
@@ -934,13 +933,7 @@ static void find_copy_in_blob(struct scoreboard *sb,
         */
        cp = nth_line(sb, ent->lno);
        file_o.ptr = (char *) cp;
-       cnt = ent->num_lines;
-
-       while (cnt && cp < sb->final_buf + sb->final_buf_size) {
-               if (*cp++ == '\n')
-                       cnt--;
-       }
-       file_o.size = cp - file_o.ptr;
+       file_o.size = nth_line(sb, ent->lno + ent->num_lines) - cp;
 
        /*
         * file_o is a part of final image we are annotating.