﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
192	psList iterator API	robert.desonia@…	Paul Price	"Upon reviewing the latest SDRS, I noticed that my implementation of 
psListSetIterator, psListGetNext, and psListGetPrevious is lacking a 
'iterator' integer parameter.  
 
Since psList is defined in the SDRS as having only one iterator, I'm not sure 
what this iterator is really for.  Also, the current implementation of tightly 
coupling the iterator to the list is not at all thread-safe. 
 
What I suggest is changing the API so that another struct, psListIterator, is 
used to iterate through the list, and that a psListIteratorAlloc function 
replace psListSetIterator's functionality, i.e., 
 
psListIterator* psListIteratorAlloc(psList* list, int location); 
void* psListGetNext(psListIterator* iter); 
void* psListGetPrevious(psListIterator* iter); 
 
psListIterator would look something like: 
 
typedef struct  
{ 
	psList* list; 
	psListElem* cursor; 
	unsigned int cursorIndex; 
}"	defect	closed	high		PSLib SDRS	unspecified	normal	fixed		
