[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17751] branches/etch-a-ton/source/blender /src: Off by one error at the end of reeb and sketch iterators causing despair and dismay .

Martin Poirier theeth at yahoo.com
Tue Dec 9 01:46:08 CET 2008


Revision: 17751
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17751
Author:   theeth
Date:     2008-12-09 01:46:05 +0100 (Tue, 09 Dec 2008)

Log Message:
-----------
Off by one error at the end of reeb and sketch iterators causing despair and dismay.

Modified Paths:
--------------
    branches/etch-a-ton/source/blender/src/editarmature_sketch.c
    branches/etch-a-ton/source/blender/src/reeb.c

Modified: branches/etch-a-ton/source/blender/src/editarmature_sketch.c
===================================================================
--- branches/etch-a-ton/source/blender/src/editarmature_sketch.c	2008-12-09 00:18:30 UTC (rev 17750)
+++ branches/etch-a-ton/source/blender/src/editarmature_sketch.c	2008-12-09 00:46:05 UTC (rev 17751)
@@ -1661,9 +1661,9 @@
 	SK_StrokeIterator *iter = (SK_StrokeIterator*)arg;
 	SK_Point *result = NULL;
 	
+	iter->index++;
 	if (iter->index < iter->length)
 	{
-		iter->index++;
 		result = setIteratorValues(iter, iter->index);
 	}
 
@@ -1682,11 +1682,6 @@
 	{
 		result = setIteratorValues(iter, iter->index);
 	}
-	else
-	{
-		/* stop iterator if passed end */
-		iter->index = iter->length; 
-	}
 
 	return result;
 }
@@ -1724,7 +1719,7 @@
 {
 	SK_StrokeIterator *iter = (SK_StrokeIterator*)arg;
 
-	if (iter->index == iter->length)
+	if (iter->index >= iter->length)
 	{
 		return 1;
 	}

Modified: branches/etch-a-ton/source/blender/src/reeb.c
===================================================================
--- branches/etch-a-ton/source/blender/src/reeb.c	2008-12-09 00:18:30 UTC (rev 17750)
+++ branches/etch-a-ton/source/blender/src/reeb.c	2008-12-09 00:46:05 UTC (rev 17751)
@@ -3462,9 +3462,10 @@
 	ReebArcIterator *iter = (ReebArcIterator*)arg;
 	EmbedBucket *result = NULL;
 	
+	iter->index++;
+	
 	if (iter->index < iter->length)
 	{
-		iter->index++;
 		result = &(iter->arc->buckets[iter->start + (iter->stride * iter->index)]);
 	}
 	
@@ -3484,11 +3485,6 @@
 	{
 		result = &(iter->arc->buckets[iter->start + (iter->stride * iter->index)]);
 	}
-	else
-	{
-		/* stop iterator if passed end */
-		iter->index = iter->length; 
-	}
 	
 	setIteratorValues(iter, result);
 	return result;
@@ -3529,7 +3525,7 @@
 {
 	ReebArcIterator *iter = (ReebArcIterator*)arg;
 
-	if (iter->index == iter->length)
+	if (iter->index >= iter->length)
 	{
 		return 1;
 	}





More information about the Bf-blender-cvs mailing list