Home | History | Annotate | Download | only in bsdiff

Lines Matching refs:oldsize

119 static void qsufsort(off_t *I,off_t *V,u_char *old,off_t oldsize)
125 for(i=0;i<oldsize;i++) buckets[old[i]]++;
130 for(i=0;i<oldsize;i++) I[++buckets[old[i]]]=i;
131 I[0]=oldsize;
132 for(i=0;i<oldsize;i++) V[i]=buckets[old[i]];
133 V[oldsize]=0;
137 for(h=1;I[0]!=-(oldsize+1);h+=h) {
139 for(i=0;i<oldsize+1;) {
154 for(i=0;i<oldsize+1;i++) I[V[i]]=i;
157 static off_t matchlen(u_char *old,off_t oldsize,u_char *new,off_t newsize)
161 for(i=0;(i<oldsize)&&(i<newsize);i++)
167 static off_t search(off_t *I,u_char *old,off_t oldsize,
173 x=matchlen(old+I[st],oldsize-I[st],new,newsize);
174 y=matchlen(old+I[en],oldsize-I[en],new,newsize);
186 if(memcmp(old+I[x],new,MIN(oldsize-I[x],newsize))<0) {
187 return search(I,old,oldsize,new,newsize,x,en,pos);
189 return search(I,old,oldsize,new,newsize,st,x,pos);
336 off_t oldsize,newsize;
351 /* Allocate oldsize+1 bytes instead of oldsize bytes to ensure
354 ((oldsize=lseek(fd,0,SEEK_END))==-1) ||
355 ((old=malloc(oldsize+1))==NULL) ||
357 (read(fd,old,oldsize)!=oldsize) ||
360 if(((I=malloc((oldsize+1)*sizeof(off_t)))==NULL) ||
361 ((V=malloc((oldsize+1)*sizeof(off_t)))==NULL)) err(1,NULL);
363 qsufsort(I,V,old,oldsize);
410 offtout(oldsize, header + 32);
412 SHA1(old, oldsize, header + 48);
422 len=search(I,old,oldsize,new+scan,newsize-scan,
423 0,oldsize,&pos);
426 if((scsc+lastoffset<oldsize) &&
433 if((scan+lastoffset<oldsize) &&
440 for(i=0;(lastscan+i<scan)&&(lastpos+i<oldsize);) {