Author: philip
Date: Thu Jul 21 15:53:44 2011
New Revision: 1149240
URL: http://svn.apache.org/viewvc?rev=1149240&view=rev
Log:
Support APR 0.9.x.
* subversion/include/private/svn_dep_compat.h
(APR_UINT64_C, APR_FPROT_OS_DEFAULT): Define.
* subversion/include/private/svn_string_private.h
(svn__strtoff): New.
* subversion/libsvn_subr/svn_string.c
(svn__strtoff): New.
* subversion/mod_dav_svn/util.c
(request_body_to_string): Use svn__strtoff.
* subversion/tests/libsvn_wc/op-depth-test.c
(): Include svn_dep_compat.h.
Suggested by: roderich.schupp{_AT_}googlemail.com
Modified:
subversion/trunk/subversion/include/private/svn_dep_compat.h
subversion/trunk/subversion/include/private/svn_string_private.h
subversion/trunk/subversion/libsvn_subr/svn_string.c
subversion/trunk/subversion/mod_dav_svn/util.c
subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c
Modified: subversion/trunk/subversion/include/private/svn_dep_compat.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_dep_compat.h?rev=1149240&r1=1149239&r2=1149240&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_dep_compat.h (original)
+++ subversion/trunk/subversion/include/private/svn_dep_compat.h Thu Jul 21
15:53:44 2011
@@ -62,6 +62,11 @@ extern "C" {
#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
Modified: subversion/trunk/subversion/include/private/svn_string_private.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_string_private.h?rev=1149240&r1=1149239&r2=1149240&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_string_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_string_private.h Thu Jul 21
15:53:44 2011
@@ -53,6 +53,11 @@ extern "C" {
*/
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);
/** @} */
/** @} */
Modified: subversion/trunk/subversion/libsvn_subr/svn_string.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/svn_string.c?rev=1149240&r1=1149239&r2=1149240&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/svn_string.c (original)
+++ subversion/trunk/subversion/libsvn_subr/svn_string.c Thu Jul 21 15:53:44
2011
@@ -839,3 +839,16 @@ svn_cstring_atoi(int *n, const char *str
*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
+}
Modified: subversion/trunk/subversion/mod_dav_svn/util.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/util.c?rev=1149240&r1=1149239&r2=1149240&view=diff
==============================================================================
--- subversion/trunk/subversion/mod_dav_svn/util.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/util.c Thu Jul 21 15:53:44 2011
@@ -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 @@ request_body_to_string(svn_string_t **re
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");
Modified: subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c?rev=1149240&r1=1149239&r2=1149240&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c Thu Jul 21
15:53:44 2011
@@ -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