On Thu, Aug 25, 2011 at 7:02 PM, <[email protected]> wrote: > > Log: > Put parsed ranges into an array and perform merges on that array. > > + if (i > 0) { > + if (!(ranges[i].start > ranges[i-1].end + 1 && > + ranges[i].end < ranges[i-1].start - 1)) > + { > + if (ranges[i].start < ranges[i-1].start) > + ranges[i-1].start = ranges[i].start; >
ok, the two lines above seem reasonable. > + if (ranges[i].end > ranges[i-1].end) > + ranges[i-1].end = ranges[i].end; > I don't understand the two lines above. Suppose we have 1000-2000,3000-4000. That should pass thru unchanged. But I believe we will see 1000-4000,3000-4000 instead. Greg
