|
From: <sv...@va...> - 2016-11-11 13:55:14
|
Author: philippe
Date: Fri Nov 11 13:55:07 2016
New Revision: 16122
Log:
Add VG_(strIsMemberXA) in pub_tool_xarray.h
This allows to search more efficiently a string in an xarray of string.
(support work for xtree)
Modified:
trunk/coregrind/m_xarray.c
trunk/include/pub_tool_xarray.h
Modified: trunk/coregrind/m_xarray.c
==============================================================================
--- trunk/coregrind/m_xarray.c (original)
+++ trunk/coregrind/m_xarray.c Fri Nov 11 13:55:07 2016
@@ -373,6 +373,16 @@
va_end(vargs);
}
+Bool VG_(strIsMemberXA)(const XArray* xa, const HChar* str )
+{
+ Word i;
+ HChar** members = (HChar**)xa->arr;
+
+ for (i = 0; i < xa->usedsizeE; i++)
+ if (VG_(strcmp)(str, members[i]) == 0)
+ return True;
+ return False;
+}
/*--------------------------------------------------------------------*/
/*--- end m_xarray.c ---*/
Modified: trunk/include/pub_tool_xarray.h
==============================================================================
--- trunk/include/pub_tool_xarray.h (original)
+++ trunk/include/pub_tool_xarray.h Fri Nov 11 13:55:07 2016
@@ -166,6 +166,8 @@
extern void VG_(xaprintf)( XArray* dst, const HChar* format, ... )
PRINTF_CHECK(2, 3);
+/* Convenience function: linear search in an XArray of HChar*. */
+extern Bool VG_(strIsMemberXA)(const XArray* xa, const HChar* str );
#endif // __PUB_TOOL_XARRAY_H
/*--------------------------------------------------------------------*/
|