You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2013/06/25 14:26:28 UTC

svn commit: r1496447 - in /subversion/trunk/subversion: include/private/svn_wc_private.h libsvn_wc/util.c

Author: stsp
Date: Tue Jun 25 12:26:27 2013
New Revision: 1496447

URL: http://svn.apache.org/r1496447
Log:
Add a new function to convert an array of 'svn_wc_conflict_description3_t *'
elements to an array of 'svn_wc_conflict_description2_t *' elements.
This will be needed to gradually move existing code over to the new
conflict description type.

* subversion/include/private/svn_wc_private.h
  (svn_wc__cd3_array_to_cd2_array): Declare.

* subversion/libsvn_wc/util.c
  (svn_wc__cd3_array_to_cd2_array): New.

Modified:
    subversion/trunk/subversion/include/private/svn_wc_private.h
    subversion/trunk/subversion/libsvn_wc/util.c

Modified: subversion/trunk/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_wc_private.h?rev=1496447&r1=1496446&r2=1496447&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_wc_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_wc_private.h Tue Jun 25 12:26:27 2013
@@ -364,6 +364,15 @@ svn_wc_conflict_description2_t *
 svn_wc__cd3_to_cd2(const svn_wc_conflict_description3_t *conflict,
                    apr_pool_t *result_pool);
 
+/*
+ * Convert an array of svn_wc_conflict_description3_t * elements to an
+ * array of * svn_wc_conflict_description2_t * elements.
+ *
+ * Allocate the result in RESULT_POOL.
+ */
+apr_array_header_t *
+svn_wc__cd3_array_to_cd2_array(const apr_array_header_t *conflicts,
+                               apr_pool_t *result_pool);
 
 /*
  * Convert from svn_wc_conflict_description2_t to

Modified: subversion/trunk/subversion/libsvn_wc/util.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/util.c?rev=1496447&r1=1496446&r2=1496447&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/util.c (original)
+++ subversion/trunk/subversion/libsvn_wc/util.c Tue Jun 25 12:26:27 2013
@@ -339,6 +339,28 @@ svn_wc_conflict_version_dup(const svn_wc
   return new_version;
 }
 
+apr_array_header_t *
+svn_wc__cd3_array_to_cd2_array(const apr_array_header_t *conflicts,
+                               apr_pool_t *result_pool)
+{
+  apr_array_header_t *new_conflicts;
+  int i;
+
+  new_conflicts = apr_array_make(result_pool, conflicts->nelts,
+                                 sizeof (svn_wc_conflict_description2_t *));
+
+  for (i = 0; i < conflicts->nelts; i++)
+    {
+      svn_wc_conflict_description3_t *cd;
+      svn_wc_conflict_description2_t *cd2;
+      
+      cd = APR_ARRAY_IDX(conflicts, i, svn_wc_conflict_description3_t *);
+      cd2 = svn_wc__cd3_to_cd2(cd, result_pool);
+      APR_ARRAY_PUSH(new_conflicts, svn_wc_conflict_description2_t *) = cd2;
+    }
+
+  return new_conflicts;
+}
 
 svn_wc_conflict_description2_t *
 svn_wc__cd3_to_cd2(const svn_wc_conflict_description3_t *conflict,