• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:scan

1 /*-
2 * Copyright 2003-2005 Colin Percival
67 size_t scsc, scan; in bsdiff() local
98 scan=0;len=0; in bsdiff()
100 while(scan<newsize) { in bsdiff()
110 for(scsc=scan+=len;scan<newsize;scan++) { in bsdiff()
115 sai->SearchPrefix(new_buf + scan, newsize - scan, &len, &pos); in bsdiff()
117 for(;scsc<scan+len && scsc+lastoffset<oldsize;scsc++) in bsdiff()
124 if((scan+lastoffset<oldsize) && in bsdiff()
125 (old_buf[scan+lastoffset] == new_buf[scan])) in bsdiff()
126 oldscore--; in bsdiff()
129 if (prev_len-fuzz<=len && len<=prev_len && in bsdiff()
130 prev_oldscore-fuzz<=oldscore && in bsdiff()
140 if((len!=oldscore) || (scan==newsize)) { in bsdiff()
142 for(i=0;(lastscan+i<scan)&&(lastpos+i<oldsize);) { in bsdiff()
145 if(s*2-i>Sf*2-lenf) { Sf=s; lenf=i; }; in bsdiff()
149 if(scan<newsize) { in bsdiff()
151 for(i=1;(scan>=lastscan+i)&&(pos>=static_cast<uint64_t>(i));i++) { in bsdiff()
152 if(old_buf[pos-i]==new_buf[scan-i]) s++; in bsdiff()
153 if(s*2-i>Sb*2-lenb) { Sb=s; lenb=i; }; in bsdiff()
157 if(lastscan+lenf>scan-lenb) { in bsdiff()
158 overlap=(lastscan+lenf)-(scan-lenb); in bsdiff()
161 if(new_buf[lastscan+lenf-overlap+i]== in bsdiff()
162 old_buf[lastpos+lenf-overlap+i]) s++; in bsdiff()
163 if(new_buf[scan-lenb+i]== in bsdiff()
164 old_buf[pos-lenb+i]) s--; in bsdiff()
168 lenf+=lens-overlap; in bsdiff()
169 lenb-=lens; in bsdiff()
174 (scan - lenb) - (lastscan + lenf), in bsdiff()
175 (pos - lenb) - (lastpos + lenf)))) in bsdiff()
178 lastscan=scan-lenb; in bsdiff()
179 lastpos=pos-lenb; in bsdiff()
180 lastoffset=pos-scan; in bsdiff()