void Test::TestGroup::getPath(SampleArray<TestGroup*>& path) { if (getParent()) getParent()->getPath(path); path.pushBack(this); }
bool Acclaim::readAMCData(const char* filename, Acclaim::ASFData& asfData, Acclaim::AMCData& amcData) { using namespace Acclaim; char token[MAX_TOKEN_LENGTH]; SampleArray<FrameData> tempFrameData; tempFrameData.reserve(300); FILE* fp = fopen(filename, "r"); if (!fp) return false; SampleFileBuffer buffer(fp); while (buffer.getNextToken(token, false) == true) { if (token[0] == '#') // comment { buffer.skipUntilNextLine(); continue; } else if (token[0] == ':') // blocks { const char* str = token + 1; // remainder of the string if (strcmp(str, "FULLY-SPECIFIED") == 0) continue; else if (strcmp(str, "DEGREES") == 0) continue; } else if (isNumeric(token[0]) == true) { // frame number int frameNo = atoi(token); FrameData frameData; if (readFrameData(buffer, asfData, frameData) == true) tempFrameData.pushBack(frameData); } } amcData.mNbFrames = tempFrameData.size(); amcData.mFrameData = (FrameData*)malloc(sizeof(FrameData) * amcData.mNbFrames); memcpy(amcData.mFrameData, tempFrameData.begin(), sizeof(FrameData) * amcData.mNbFrames); fclose(fp); return true; }