Author: brane
Date: Tue Aug 19 09:51:17 2014
New Revision: 1618826

URL: http://svn.apache.org/r1618826
Log:
On the authzperf branch: Make the in-place string function a private API,
the authz parser will need it.

* subversion/libsvn_repos/authz.h
  (svn_authz__reverse_string): New prototype.
* subversion/libsvn_repos/authz_parse.c
  (svn_authz__reverse_string): Move implementation here from authz.c.
* subversion/libsvn_repos/authz.c
  (reverse_string): Remove. Update all uses to svn_authz__reverse_string.

Modified:
    subversion/branches/authzperf/subversion/libsvn_repos/authz.c
    subversion/branches/authzperf/subversion/libsvn_repos/authz.h
    subversion/branches/authzperf/subversion/libsvn_repos/authz_parse.c

Modified: subversion/branches/authzperf/subversion/libsvn_repos/authz.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_repos/authz.c?rev=1618826&r1=1618825&r2=1618826&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_repos/authz.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_repos/authz.c Tue Aug 19 
09:51:17 2014
@@ -55,21 +55,6 @@ set_add_string(apr_hash_t *set,
   apr_hash_set(set, key, strlen(key), "");
 }
 
-/* In situ reversal of the first LEN chars in S.
- * S must be at least LEN  characters long.
- */
-static void
-reverse_string(char *s,
-               apr_size_t len)
-{
-  char *lhs, *rhs;
-  for (lhs = s, rhs = s + len - 1; lhs < rhs; ++lhs, --rhs)
-    {
-      char c = *lhs;
-      *lhs = *rhs;
-      *rhs = c;
-    }
-}
 
 
 /*** Users, aliases and groups. ***/
@@ -464,7 +449,7 @@ insert_path(node_t *node,
       else if (is_suffix_segment(segment))
         {
           char *reversed = apr_pstrdup(scratch_pool, segment + 1);
-          reverse_string(reversed, strlen(reversed));
+          svn_authz__reverse_string(reversed, strlen(reversed));
           sub_node = ensure_node_in_array(&node->pattern_sub_nodes->suffixes,
                                           reversed, result_pool);
         }
@@ -1032,7 +1017,7 @@ lookup(lookup_state_t *state,
               if (node->pattern_sub_nodes->suffixes)
                 {
                   /* Suffixes behave like reversed prefixes. */
-                  reverse_string(segment->data, segment->len);
+                  svn_authz__reverse_string(segment->data, segment->len);
                   add_prefix_matches(state, segment,
                                      node->pattern_sub_nodes->suffixes);
                 }

Modified: subversion/branches/authzperf/subversion/libsvn_repos/authz.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_repos/authz.h?rev=1618826&r1=1618825&r2=1618826&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_repos/authz.h (original)
+++ subversion/branches/authzperf/subversion/libsvn_repos/authz.h Tue Aug 19 
09:51:17 2014
@@ -197,6 +197,11 @@ svn_authz__tng_parse(svn_authz_tng_t **a
                      apr_pool_t *result_pool,
                      apr_pool_t *scratch_pool);
 
+
+/* Reverse a STRING of length LEN in place. */
+void
+svn_authz__reverse_string(char *string, apr_size_t len);
+
 
 /*
  *   Authorization lookup

Modified: subversion/branches/authzperf/subversion/libsvn_repos/authz_parse.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_repos/authz_parse.c?rev=1618826&r1=1618825&r2=1618826&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_repos/authz_parse.c 
(original)
+++ subversion/branches/authzperf/subversion/libsvn_repos/authz_parse.c Tue Aug 
19 09:51:17 2014
@@ -1005,3 +1005,17 @@ svn_authz__tng_parse(svn_authz_tng_t **a
   apr_pool_destroy(cb->parser_pool);
   return SVN_NO_ERROR;
 }
+
+
+void
+svn_authz__reverse_string(char *string, apr_size_t len)
+{
+  char *left = string;
+  char *right = string + len - 1;
+  for (; left < right; ++left, --right)
+    {
+      char c = *left;
+      *left = *right;
+      *right = c;
+    }
+}


Reply via email to