arches Backwards for the first difference between two files. Argument diff is a difference in bits between the string addresses that have produced matching signatures. diff is not negative. wn is the word number in file x where the match was discovered. The matching part from file y is at least as large an address. sb returns the byte offset within file x of the byte before which the files differ. */ static b32 sb(sstream * C x, sstream * C y, b32 C diff, b32 C wn) {uchar a[512], b[512]; long vbn = wn>>7, indx = wn&(128-1); while(vbn>=0){sread(a, x, vbn<<12); sread(b, y, (vbn<<12) + diff); {int j; for(j=indx; j>=0; --j) if(((b32 *)a)[j] != ((b32 *)b)[j]) break; if(j>=0) {j =4*j+3; while(a[j] == b[j]) --j; return (vbn<<9)+j+1;}