You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2011/10/10 22:22:06 UTC
svn commit: r1181215 - in /subversion/trunk/subversion: libsvn_subr/sorts.c
tests/libsvn_subr/mergeinfo-test.c
Author: pburba
Date: Mon Oct 10 20:22:06 2011
New Revision: 1181215
URL: http://svn.apache.org/viewvc?rev=1181215&view=rev
Log:
The *rest* of r1181090!
* subversion/libsvn_subr/sorts.c
(svn_sort__array_delete): Don't assume we are only removing one element;
since r1181090 we may remove many.
* subversion/tests/libsvn_subr/mergeinfo-test.c
(test_rangelist_merge): Add a test that exercises the above modified block.
Modified:
subversion/trunk/subversion/libsvn_subr/sorts.c
subversion/trunk/subversion/tests/libsvn_subr/mergeinfo-test.c
Modified: subversion/trunk/subversion/libsvn_subr/sorts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sorts.c?rev=1181215&r1=1181214&r2=1181215&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sorts.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sorts.c Mon Oct 10 20:22:06 2011
@@ -269,11 +269,11 @@ svn_sort__array_delete(apr_array_header_
}
else
{
- memmove(arr->elts + arr->elt_size * delete_index,
- arr->elts + arr->elt_size * (delete_index + 1),
- arr->elt_size * (arr->nelts - 1 - delete_index)
- * elements_to_delete);
- --(arr->nelts);
+ memmove(
+ arr->elts + arr->elt_size * delete_index,
+ arr->elts + (arr->elt_size * (delete_index + elements_to_delete)),
+ arr->elt_size * (arr->nelts - elements_to_delete - delete_index));
+ arr->nelts -= elements_to_delete;
}
}
}
Modified: subversion/trunk/subversion/tests/libsvn_subr/mergeinfo-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_subr/mergeinfo-test.c?rev=1181215&r1=1181214&r2=1181215&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_subr/mergeinfo-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_subr/mergeinfo-test.c Mon Oct 10 20:22:06 2011
@@ -1181,7 +1181,7 @@ test_rangelist_merge(apr_pool_t *pool)
svn_merge_range_t expected_merge[6];
};
- #define SIZE_OF_RANGE_MERGE_TEST_ARRAY 67
+ #define SIZE_OF_RANGE_MERGE_TEST_ARRAY 68
/* The actual test data. */
struct rangelist_merge_test_data test_data[SIZE_OF_RANGE_MERGE_TEST_ARRAY] =
{
@@ -1286,6 +1286,9 @@ test_rangelist_merge(apr_pool_t *pool)
{"/A: 5-60", "/A: 3-4,50-100*", 2, {{2, 60, TRUE}, {60, 100, FALSE}}},
+ {"/A: 5,9,11-15,17,200-300,999", "/A: 7-50", 4,
+ {{4, 5, TRUE}, {6, 50, TRUE}, {199, 300, TRUE}, {998, 999, TRUE}}},
+
/* A rangelist merged with an empty rangelist should equal the
non-empty rangelist but in compacted form. */
{"/A: 1-44,45,46,47-50", "", 1, {{ 0, 50, TRUE }}},