in src/dxapi/native/tickdb/http/xml/stream/periodicity_request.cpp [42:82]
bool PeriodicityRequest::getPeriodicity(Interval * interval)
{
if (!executeAndParseResponse())
return false;
XMLElement * rootElement = response_.root();
do {
const char * dataPtr = NULL;
char * endPtr = NULL;
if (!nameEquals(rootElement, "getPeriodicityResponse"))
break;
dataPtr = getText(rootElement, "periodicity");
if (NULL == dataPtr)
break;
//const char * dataPtr = strdup(dataPtr);
if (strhasprefix(dataPtr, "IRREGULAR", 9)) {
interval->numUnits = 0;
interval->unitType = TimeUnit::UNKNOWN;
return true;
}
int64_t numUnits = strtoll(dataPtr, &endPtr, 10);
if (NULL == endPtr || dataPtr == endPtr)
break;
TimeUnit unitType = TimeUnit::fromChar(*endPtr);
if (TimeUnit::UNKNOWN == unitType)
break;
interval->numUnits = numUnits;
interval->unitType = unitType;
return true;
} while (0);
return false;
}