]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/wiggle/wiggle-0.6/004ExtractFix
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / wiggle / wiggle-0.6 / 004ExtractFix
1 Status: ok
2
3 Fix off-by-one-error when extracting a merge file.
4
5 If a merge ended at EOF, --extract wouldn't interpret it properly.
6
7  ----------- Diffstat output ------------
8  ./extract.c |    8 ++++----
9  ./p         |    2 +-
10  2 files changed, 5 insertions(+), 5 deletions(-)
11
12 diff ./extract.c~current~ ./extract.c
13 --- ./extract.c~current~        2004-02-03 13:18:41.000000000 +1100
14 +++ ./extract.c 2004-02-03 13:18:55.000000000 +1100
15 @@ -207,7 +207,7 @@ int split_merge(struct stream f, struct 
16                 lineno++;
17                 switch(state) {
18                 case 0:
19 -                       if (len>8 &&
20 +                       if (len>=8 &&
21                             strncmp(cp, "<<<<<<<", 7)==0 &&
22                             (cp[7] == ' ' || cp[7] == '\n')
23                                 ) {
24 @@ -222,7 +222,7 @@ int split_merge(struct stream f, struct 
25                         }
26                         break;
27                 case 1:
28 -                       if (len>8 &&
29 +                       if (len>=8 &&
30                             strncmp(cp, "|||||||", 7)==0 &&
31                             (cp[7] == ' ' || cp[7] == '\n')
32                                 ) {
33 @@ -232,7 +232,7 @@ int split_merge(struct stream f, struct 
34                                 copyline(&r1, &cp, end);
35                         break;
36                 case 2:
37 -                       if (len>8 &&
38 +                       if (len>=8 &&
39                             strncmp(cp, "=======", 7)==0 &&
40                             (cp[7] == ' ' || cp[7] == '\n')
41                                 ) {
42 @@ -242,7 +242,7 @@ int split_merge(struct stream f, struct 
43                                 copyline(&r2, &cp, end);
44                         break;
45                 case 3:
46 -                       if (len>8 &&
47 +                       if (len>=8 &&
48                             strncmp(cp, ">>>>>>>", 7)==0 &&
49                             (cp[7] == ' ' || cp[7] == '\n')
50                                 ) {
51
52 diff ./p~current~ ./p
53 --- ./p~current~        2004-02-03 13:18:44.000000000 +1100
54 +++ ./p 2004-02-03 13:18:55.000000000 +1100
55 @@ -170,7 +170,7 @@ commit_one()
56  {
57         rm -f "$1~current~"
58         mv "$1" "$1~current~"
59 -       cp "$1~current~" $1
60 +       cp -p "$1~current~" $1
61         chmod u+w $1
62  }
63