ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/liblzf/lzf_c.c
(Generate patch)

Comparing liblzf/lzf_c.c (file contents):
Revision 1.17 by root, Tue Nov 13 07:54:18 2007 UTC vs.
Revision 1.18 by root, Tue Nov 13 08:17:38 2007 UTC

158 maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; 158 maxlen = maxlen > MAX_REF ? MAX_REF : maxlen;
159 159
160 if (expect_false (op + lit + 1 + 3 >= out_end)) 160 if (expect_false (op + lit + 1 + 3 >= out_end))
161 return 0; 161 return 0;
162 162
163 do
164 len++;
165 while (len < maxlen && ref[len] == ip[len]);
166
167 if (lit) 163 if (lit)
168 { 164 {
169 *op++ = lit - 1; 165 *op++ = lit - 1;
170 lit = -lit; 166 lit = -lit;
171 do 167 do
172 *op++ = ip[lit]; 168 *op++ = ip[lit];
173 while (++lit); 169 while (++lit);
174 } 170 }
175 171
172 for (;;)
173 {
174 if (expect_true (ip < in_end - 2 - 8 && maxlen > 8))
175 {
176 len++; if (ref [len] != ip [len]) break;
177 len++; if (ref [len] != ip [len]) break;
178 len++; if (ref [len] != ip [len]) break;
179 len++; if (ref [len] != ip [len]) break;
180 len++; if (ref [len] != ip [len]) break;
181 len++; if (ref [len] != ip [len]) break;
182 len++; if (ref [len] != ip [len]) break;
183 len++; if (ref [len] != ip [len]) break;
184 }
185
186 do
187 len++;
188 while (len < maxlen && ref[len] == ip[len]);
189
190 break;
191 }
192
176 len -= 2; 193 len -= 2;
177 ip++; 194 ip++;
178 195
179 if (len < 7) 196 if (len < 7)
180 { 197 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines