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


Reply via email to