"roderich.sch...@googlemail.com" <roderich.sch...@googlemail.com> writes:
> sorry for the late posting. Here are some minor build nits for people > stuck > with old versions of APR and Apache. > > - subversion/include/private/svn_dep_compat.h, line 72-73: > APR_UINT64_C and APR_INT64_C don't exist in APR 0.9.x I see APR_INT64_C, only APR_UINT64_C is missing. > possible fix (at least for people with a moderately recent C > compiler): > > #define APR_UINT64_MAX UINT64_MAX > #define APR_INT64_MAX INT64_MAX > > - subversion/tests/libsvn_wc/op-depth-test.c, line 121: > APR_FPROT_OS_DEFAULT doesn't exist in APR 0.9.x > It was called APR_OS_DEFAULT then (which is still recognized in APR > 1.4.x). > > - subversion/mod_dav_svn/util.c, line 681: > apr_strtoff doesn't exist in APR 0.9.x > > possible fix: use strtol instead Thanks! Could you verify the following patch: Index: subversion/mod_dav_svn/util.c =================================================================== --- subversion/mod_dav_svn/util.c (revision 1149187) +++ subversion/mod_dav_svn/util.c (working copy) @@ -37,6 +37,7 @@ #include "dav_svn.h" #include "private/svn_fspath.h" +#include "private/svn_string_private.h" dav_error * dav_svn__new_error(apr_pool_t *pool, @@ -678,7 +679,7 @@ content_length_str = apr_table_get(r->headers_in, "Content-Length"); if (content_length_str) { - if (apr_strtoff(&content_length, content_length_str, &endp, 10) + if (svn__strtoff(&content_length, content_length_str, &endp, 10) || endp == content_length_str || *endp || content_length < 0) { ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "Invalid Content-Length"); Index: subversion/include/private/svn_string_private.h =================================================================== --- subversion/include/private/svn_string_private.h (revision 1149187) +++ subversion/include/private/svn_string_private.h (working copy) @@ -53,6 +53,11 @@ */ svn_string_t * svn_stringbuf__morph_into_string(svn_stringbuf_t *strbuf); + +/** Like apr_strtoff but provided here for backward compatibility + * with APR 0.9 */ +apr_status_t +svn__strtoff(apr_off_t *offset, const char *buf, char **end, int base); /** @} */ /** @} */ Index: subversion/include/private/svn_dep_compat.h =================================================================== --- subversion/include/private/svn_dep_compat.h (revision 1149187) +++ subversion/include/private/svn_dep_compat.h (working copy) @@ -62,6 +62,11 @@ #define apr_array_clear(arr) (arr)->nelts = 0 #endif +#if !APR_VERSION_AT_LEAST(1,0,0) +#define APR_UINT64_C(val) UINT64_C(val) +#define APR_FPROT_OS_DEFAULT APR_OS_DEFAULT +#endif + #if !APR_VERSION_AT_LEAST(1,3,0) #define APR_UINT16_MAX 0xFFFFU #define APR_INT16_MAX 0x7FFF Index: subversion/libsvn_subr/svn_string.c =================================================================== --- subversion/libsvn_subr/svn_string.c (revision 1149187) +++ subversion/libsvn_subr/svn_string.c (working copy) @@ -839,3 +839,16 @@ *n = (int)val; return SVN_NO_ERROR; } + + +apr_status_t +svn__strtoff(apr_off_t *offset, const char *buf, char **end, int base) +{ +#if !APR_VERSION_AT_LEAST(1,0,0) + errno = 0; + *offset = strtol(buf, end, base); + return APR_FROM_OS_ERROR(errno); +#else + return apr_strtoff(offset, buf, end, base); +#endif +} Index: subversion/tests/libsvn_wc/op-depth-test.c =================================================================== --- subversion/tests/libsvn_wc/op-depth-test.c (revision 1149187) +++ subversion/tests/libsvn_wc/op-depth-test.c (working copy) @@ -40,6 +40,7 @@ #include "private/svn_wc_private.h" #include "private/svn_sqlite.h" +#include "private/svn_dep_compat.h" #include "../../libsvn_wc/wc.h" #include "../../libsvn_wc/wc_db.h" #define SVN_WC__I_AM_WC_DB -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com