Lines Matching defs:old
107 static void qsufsort(off_t *I,off_t *V,u_char *old,off_t oldsize)
113 for(i=0;i<oldsize;i++) buckets[old[i]]++;
118 for(i=0;i<oldsize;i++) I[++buckets[old[i]]]=i;
120 for(i=0;i<oldsize;i++) V[i]=buckets[old[i]];
145 static off_t matchlen(u_char *old,off_t oldsize,u_char *new,off_t newsize)
150 if(old[i]!=new[i]) break;
155 static off_t search(off_t *I,u_char *old,off_t oldsize,
161 x=matchlen(old+I[st],oldsize-I[st],new,newsize);
162 y=matchlen(old+I[en],oldsize-I[en],new,newsize);
174 if(memcmp(old+I[x],new,MIN(oldsize-I[x],newsize))<0) {
175 return search(I,old,oldsize,new,newsize,x,en,pos);
177 return search(I,old,oldsize,new,newsize,st,x,pos);
202 u_char *old,*new;
225 ((old=malloc(oldsize+1))==NULL) ||
227 (read(fd,old,oldsize)!=oldsize) ||
233 qsufsort(I,V,old,oldsize);
281 len=search(I,old,oldsize,new+scan,newsize-scan,
286 (old[scsc+lastoffset] == new[scsc]))
293 (old[scan+lastoffset] == new[scan]))
300 if(old[lastpos+i]==new[lastscan+i]) s++;
309 if(old[pos-i]==new[scan-i]) s++;
319 old[lastpos+lenf-overlap+i]) s++;
321 old[pos-lenb+i]) s--;
330 db[dblen+i]=new[lastscan+i]-old[lastpos+i];
403 free(old);