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

Comparing liblzf/lzf_c_best.c (file contents):
Revision 1.3 by root, Sun Jan 11 01:32:04 2015 UTC vs.
Revision 1.4 by root, Sat Jun 27 19:50:25 2015 UTC

86 while (ip < in_end - 2) 86 while (ip < in_end - 2)
87 { 87 {
88 int best_l = 0; 88 int best_l = 0;
89 const u8 *best_p; 89 const u8 *best_p;
90 int e = (in_end - ip < MAX_REF ? in_end - ip : MAX_REF) - 1; 90 int e = (in_end - ip < MAX_REF ? in_end - ip : MAX_REF) - 1;
91 unsigned int res = ((unsigned int)ip) & (MAX_OFF - 1); 91 unsigned int res = ((unsigned long)ip) & (MAX_OFF - 1);
92 u16 hash = HASH (ip); 92 u16 hash = HASH (ip);
93 u16 diff; 93 u16 diff;
94 const u8 *b = ip < (u8 *)in_data + MAX_OFF ? in_data : ip - MAX_OFF; 94 const u8 *b = ip < (u8 *)in_data + MAX_OFF ? in_data : ip - MAX_OFF;
95 const u8 *p = first [hash]; 95 const u8 *p = first [hash];
96 prev [res] = ip - p; /* update ptr to previous hash match */ 96 prev [res] = ip - p; /* update ptr to previous hash match */
113 best_p = p; 113 best_p = p;
114 best_l = l; 114 best_l = l;
115 } 115 }
116 } 116 }
117 117
118 diff = prev [((unsigned int)p) & (MAX_OFF - 1)]; 118 diff = prev [((unsigned long)p) & (MAX_OFF - 1)];
119 p = diff ? p - diff : 0; 119 p = diff ? p - diff : 0;
120 } 120 }
121 121
122 if (best_l) 122 if (best_l)
123 { 123 {
157 157
158 //printf (" fill %p for %d\n", ip, len);//D 158 //printf (" fill %p for %d\n", ip, len);//D
159 do 159 do
160 { 160 {
161 u16 hash = HASH (ip); 161 u16 hash = HASH (ip);
162 res = ((unsigned int)ip) & (MAX_OFF - 1); 162 res = ((unsigned long)ip) & (MAX_OFF - 1);
163 163
164 p = first [hash]; 164 p = first [hash];
165 prev [res] = ip - p; /* update ptr to previous hash match */ 165 prev [res] = ip - p; /* update ptr to previous hash match */
166 first [hash] = ip; /* first hash match is here */ 166 first [hash] = ip; /* first hash match is here */
167 167

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines