#ifndef __STRINGARRAY_H #define __STRINGARRAY_H #include "types.h" #include #include StringArray StringArrayNew(VOID); VOID StringArrayAppend(StringArray array, CONST_STRPTR value); VOID StringArrayAppendAndRetain(StringArray array, CONST_STRPTR value); VOID StringArrayFree(StringArray array, BOOL freeStrings); CONST_STRPTR* StringArrayValues(StringArray array); STRPTR StringArrayJoined(StringArray array, BYTE linkCharacter); STRPTR StringArrayJoinedParts(StringArray array, BYTE linkCharacter, ULONG startIndex, ULONG maxParts); #define StringArrayForEach(array, block) do {STRPTR *afe_123_p = (*(STRPTR **)array); STRPTR aString = *afe_123_p; int afe_123_c = (((ULONG *)array)[1]);\ for (; afe_123_c--; aString = *(++afe_123_p)) block} while (0); #endif