I think the  

+        if (in_merge) {
+            overlaps++;
+            continue;
+        } else {
+            new = (char **)apr_array_push(merged);
+            *new = apr_psprintf(r->pool, "%" APR_OFF_T_FMT "-%" APR_OFF_T_FMT,
+                                    ostart, oend);
+            idx = (indexes_t *)apr_array_push(indexes);
+            idx->start = ostart;
+            idx->end = oend;
             num_ranges++;
-        range++;
+        }

should be really

+        if (in_merge) {
+            overlaps++;
+            continue;
+        } else {
+            new = (char **)apr_array_push(merged);
+            *new = apr_psprintf(r->pool, "%" APR_OFF_T_FMT "-%" APR_OFF_T_FMT,
+                                    ostart, oend);
+            idx = (indexes_t *)apr_array_push(indexes);
+            idx->start = ostart;
+            idx->end = oend;

+            ostart = start;
+            oend = end;
+            in_merge = 1;

             num_ranges++;
-        range++;
+        }

Otherwise I think 0-1,1000-1001
will result in

0-1

Regards

Rüdiger


> -----Original Message-----
> From: Jim Jagielski [mailto:j...@jagunet.com] 
> Sent: Freitag, 26. August 2011 17:19
> To: dev@httpd.apache.org
> Subject: Re: PoC ready
> 
> Committed... r 1162131
> 

Reply via email to