From: <bi...@us...> - 2007-05-30 11:18:30
|
Revision: 416 http://svn.sourceforge.net/oorexx/?rev=416&view=rev Author: bigrixx Date: 2007-05-30 04:18:32 -0700 (Wed, 30 May 2007) Log Message: ----------- [Oorexx-bugs] [ oorexx-Bugs-1728188 ] 'appendAll' causing *sometimes* 'subset' to not Modified Paths: -------------- interpreter-3.x/trunk/kernel/classes/ArrayClass.cpp Modified: interpreter-3.x/trunk/kernel/classes/ArrayClass.cpp =================================================================== --- interpreter-3.x/trunk/kernel/classes/ArrayClass.cpp 2007-05-30 11:13:51 UTC (rev 415) +++ interpreter-3.x/trunk/kernel/classes/ArrayClass.cpp 2007-05-30 11:18:32 UTC (rev 416) @@ -1346,15 +1346,17 @@ */ arraysize_t RexxArray::findSingleIndexItem(RexxObject *item) { - for (arraysize_t i = 0; i < this->arraySize; i++) + for (arraysize_t i = 1; i <= this->size(); i++) { + RexxObject *test = get(i); + // if there's an object in the slot, compare it. - if (objects[i] != OREF_NULL) + if (test != OREF_NULL) { // if the items are equal, return the index - if (item->equalValue(objects[i])) + if (item->equalValue(test)) { - return i + 1; + return i; } } } @@ -1468,7 +1470,7 @@ return TheNilObject; } // remove the item at the location - OrefSet(this, objects[index - 1], OREF_NULL); + put(OREF_NULL, index); return target; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |