VG_(addToXA): return index in the array where the item was added.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6619
This commit is contained in:
Julian Seward 2007-02-27 16:40:53 +00:00
parent e06ac31db4
commit 0a28307fca
3 changed files with 7 additions and 4 deletions

View File

@ -45,7 +45,7 @@
static void add_string ( XArray* /* of HChar* */xa, HChar* str )
{
VG_(addToXA)( xa, (void*)(&str) );
(void) VG_(addToXA)( xa, (void*)(&str) );
}

View File

@ -104,7 +104,7 @@ inline void* VG_(indexXA) ( XArray* xao, Word n )
return ((char*)xa->arr) + n * xa->elemSzB;
}
void VG_(addToXA) ( XArray* xao, void* elem )
Int VG_(addToXA) ( XArray* xao, void* elem )
{
struct _XArray* xa = (struct _XArray*)xao;
vg_assert(xa);
@ -137,6 +137,7 @@ void VG_(addToXA) ( XArray* xao, void* elem )
elem, xa->elemSzB );
xa->usedsizeE++;
xa->sorted = False;
return xa->usedsizeE-1;
}
// Generic shell sort. Like stdlib.h's qsort().

View File

@ -61,8 +61,10 @@ extern void VG_(deleteXA) ( XArray* );
before making further queries with lookupXA. */
extern void VG_(setCmpFnXA) ( XArray*, Word (*compar)(void*,void*) );
/* Add an element to an XArray. Element is copied into the XArray. */
extern void VG_(addToXA) ( XArray*, void* elem );
/* Add an element to an XArray. Element is copied into the XArray.
Index at which it was added is returned. Note this will be
invalidated if the array is later sortXA'd. */
extern Int VG_(addToXA) ( XArray*, void* elem );
/* Sort an XArray using its comparison function, if set; else bomb.
Probably not a stable sort w.r.t. equal elements module cmpFn. */