- 9AB0950EFF37136222DC461537F8448EBC36DFF595E77AF294E48F9142657ED6DA78D72C232ECC890E28BA75A2160D7AB3A09E1A7AA61C50AC95C7A747EF2B7A
+ 7106411C84C6BC2D4EA1027D66B6B1A6278106C5FC2D9C4F990D8D4D762EDDEDA8EAC3441BF3B40129167750B56D210228C2A0E437A707E89FE32DE1A4237E99
vtools/src/io.c
(196 . 6)(196 . 15)
53 bucket = &buckets[h % nbuckets];
54 length = p - ip - 1;
55
56 if (p == bufend
57 && current->missing_newline) {
58 /* The last line is incomplete. If the line cannot
59 compare equal to any complete line, put it into
60 buckets[-1] so that it can compare equal only to the
61 other file's incomplete line (if one exists). */
62 bucket = &buckets[-1];
63 }
64
65 for (i = *bucket;; i = eqs[i].next)
66 if (!i) {
67 /* Create a new equivalence class in this bucket. */
(271 . 9)(280 . 9)
69 linbuf[line] = p;
70
71 if (p == bufend) {
72 /* If the last line is incomplete and we do not silently
73 complete lines, don't count its appended newline. */
74 if (current->missing_newline && false) /* our output style not robust */
75 /* If the last line is incomplete, don't count its
76 appended newline. */
77 if (current->missing_newline)
78 linbuf[line]--;
79 break;
80 }
(395 . 10)(404 . 9)
82
83 /* Don't mistakenly count missing newline as part of
84 prefix. */
85 if (false
86 && ((buffer0 + n0 - filevec[0].missing_newline < p0)
87 !=
88 (buffer1 + n1 - filevec[1].missing_newline < p1)))
89 if ((buffer0 + n0 - filevec[0].missing_newline < p0)
90 !=
91 (buffer1 + n1 - filevec[1].missing_newline < p1))
92 p0--, p1--;
93 }
94