tree checksum vpatch file split hunks

all signers: phf

antecedents: vtools_genesis

press order:

vtools_genesisphf
vdiff_fixes_newline_gccphf

patch:

- AE3D7FE005038F18760EF9C78E0AA83BEAD91FE39020238FF712E46CD52682D0DA8DDF2067CDC77247C1466564CAF7089B5670CB7EA684B0076F7AA125945351
+ 30959920906CDF36872B949334B762F96F0349ECE83B040D67C1D551E4DEB436AEC54AFE6767B1EF1E721D99550C72E3D2A5CC83537DC622D50CA93D9261E19D
vtools/Makefile
(30 . 7)(30 . 7)
5 OBJECTS=$(SRCS:.c=.o)
6
7 vdiff: $(SOURCES) $(HEADERS)
8 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -std=c99 -Ilib/ -Isrc/ -o $@ $(SOURCES)
9 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -std=c99 -pedantic -Ilib/ -Isrc/ -o $@ $(SOURCES)
10
11 clean:
12 @rm -f vdiff
- 2146359188E16E7186846AE0B1026DC41BB7EC2C58FCE67D3F02F99BDB851F9325483084B55FFD5BCB4B0D36C08799BF3198BAAEDF7595B6E0EE85A042806446
+ BB116548D11FB1B72BD214FDCBC29BDC260A10783555ACB33972F9FEA19332DA586048E72AED60CF809DAB53DACB8D037E12A9DE28709E8F1C67ACA1E9B9E3DE
vtools/lib/xalloc.h
(10 . 7)(10 . 7)
17 gnulib's xalloc-die module. This is the function to call when one
18 wants the program to die because of a memory allocation
19 failure. */
20 extern _Noreturn void xalloc_die(void);
21 extern void xalloc_die(void) __attribute__((noreturn));
22
23 void *xmalloc(size_t s);
24 void *xzalloc(size_t s);
- AAB77CCF9C4FA86348F84D661509CF482F958D1A1ED4A55F608683510A8C5AB3E3A12E6C9FA61B6DDF31A493D5BE586EF7362D00E1D91542A130B27EC0DC5AD3
+ 29CA97FFC8FCD1D9A08809F46D6DFBC58DA2E139D63001E84B53FE027C7CDA61D3170320D097D092B5C0E4E2886A984F17FE94E9988F26C4BCDE526BE3FE5EFC
vtools/manifest
(1 . 1)(1 . 2)
29 510300 phf vtools_genesis Initial release of vtools. Genesis contains stripped down version of diffutils 3.6, with most of functionality not relevant to vpatch removed.
30 511300 phf vdiff_fixes_newline_gcc Fixes for C99 compatability, support for "No newline at end of file" directive.
- 7C13EDE685F2C92F24A015E44B9609494E4D5DA9BC6A192B62A9CAB92F36C2543F5092FDADD7436FEAC45CA0AB54D19EA0692848C5C94F9819B885BEEC08E179
+ 0626CFF1E1871B60EBE1843368954151AA16905F5A26A3BC9A0E9DF97EAB432042377A5E85928AE3144F88800C8691FA7D6AA362529FA37EA789252C540FD520
vtools/src/analyze.c
(579 . 14)(579 . 6)
35 p = e->link;
36 free(e);
37 }
38
39 for (f = 0; f < 2; ++f)
40 if (cmp->file[f].missing_newline) {
41 error(0, 0, "%s: %s\n",
42 file_label[f] ? file_label[f] : cmp->file[f].name,
43 "No newline at end of file");
44 changes = 2;
45 }
46 }
47
48 if (cmp->file[0].buffer != cmp->file[1].buffer)
- 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