On Wed, Aug 31, 2011 at 9:51 PM, William A. Rowe Jr. <wr...@rowe-clan.net> wrote: > On 8/31/2011 4:16 PM, William A. Rowe Jr. wrote: >> I've attempted to simply substitute the 2.2.19 filter code into the >> 2.0.64 http_protocol.c sources, and am unsure how far off these patches >> are from what they need to be; there's been a significant amount of drift >> and refactoring in the interim. > > Still looking for feedback, but the attached applies and corresponds to > 2.2.20 with the exception of atoi rather than strtoi semantics, and without > the no DefaultType exception..
Here's some more feedback :) The commented-out line below in the middle of your patch is borked, as the variable range has been moved through the string being parsed by ap_getword(). cur is what we're parsing this time through the loop, reflected in my minor modification (the next line). + if (dash == range) { + /* In the form "-5" */ + start = clength - apr_atoi64(dash + 1); + end = clength - 1; + } + else { + *dash++ = '\0'; + /* wrowe: start = apr_atoi64(range); */ + start = apr_atoi64(cur); + if (*dash) { + end = apr_atoi64(dash); + } + else { /* "5-" */ + end = clength - 1; + } + } + Without this fix, I get this for the byterange tests against 2.0.x HEAD + patch: t/apache/byterange.t (Wstat: 0 Tests: 165 Failed: 121) Failed tests: 2-11, 13, 19-29, 31-32, 37-38, 40-41, 46-48 50-53, 55, 57-60, 62-74, 76-80, 82-83, 85-88 92, 94-95, 98-104, 107-110, 112-114, 116-118 120-122, 125-135, 137-150, 153-155, 157 159, 161, 163-165 t/apache/byterange4.t (Wstat: 0 Tests: 153 Failed: 136) Failed tests: 18-153 t/apache/byterange5.t (Wstat: 0 Tests: 5 Failed: 4) Failed tests: 1, 3-5 t/apache/byterange7.t (Wstat: 0 Tests: 13 Failed: 5) Failed tests: 2-5, 12 With this fix, I get no testcase failures and this skippage: t/apache/byterange.t ........ ok t/apache/byterange2.t ....... ok t/apache/byterange3.t ....... skipped: (no reason given) t/apache/byterange4.t ....... ok t/apache/byterange5.t ....... ok t/apache/byterange6.t ....... skipped: apache version 2.3.15 or higher is required, this is version 2.0.65 t/apache/byterange7.t ....... ok Thanks for putting this together so that there was something to try out!!!!