- if (count==0) {
- s->sums = NULL;
- return s;
- }
-
- if (verbose > 3)
- rprintf(FINFO,"count=%d rem=%d n=%d flength=%.0f\n",
- s->count,s->remainder,s->n,(double)s->flength);
-
- s->sums = (struct sum_buf *)malloc(sizeof(s->sums[0])*s->count);
- if (!s->sums) out_of_memory("generate_sums");
-
- for (i=0;i<count;i++) {
- int n1 = MIN(len,n);
- char *map = map_ptr(buf,offset,n1);
-
- s->sums[i].sum1 = get_checksum1(map,n1);
- get_checksum2(map,n1,s->sums[i].sum2);
-
- s->sums[i].offset = offset;
- s->sums[i].len = n1;
- s->sums[i].i = i;
-
- if (verbose > 3)
- rprintf(FINFO,"chunk[%d] offset=%.0f len=%d sum1=%08x\n",
- i,(double)s->sums[i].offset,s->sums[i].len,s->sums[i].sum1);