bugfix: correct handling of data type wildcards GetFirst/Next-DataObject/Block
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 26 Nov 2007 00:04:48 +0000 (00:04 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 26 Nov 2007 00:04:48 +0000 (00:04 +0000)
HLT/BASE/AliHLTComponent.cxx

index 44b407b..208489b 100644 (file)
@@ -555,7 +555,11 @@ int AliHLTComponent::FindInputBlock(const AliHLTComponentDataType& dt, int start
        AliHLTUInt32_t firstWord=*((AliHLTUInt32_t*)fpInputBlocks[idx].fPtr);
        if (firstWord!=fpInputBlocks[idx].fSize-sizeof(AliHLTUInt32_t)) continue;
       }
-      if (dt == kAliHLTAnyDataType || fpInputBlocks[idx].fDataType == dt) {
+      if (dt == kAliHLTAnyDataType || fpInputBlocks[idx].fDataType == dt ||
+         (memcmp(dt.fID, kAliHLTAnyDataTypeID, kAliHLTComponentDataTypefIDsize)==0 &&
+          memcmp(dt.fOrigin, fpInputBlocks[idx].fDataType.fOrigin, kAliHLTComponentDataTypefOriginSize)==0) ||
+         (memcmp(dt.fID, fpInputBlocks[idx].fDataType.fID, kAliHLTComponentDataTypefIDsize)==0) &&
+          memcmp(dt.fOrigin, kAliHLTDataOriginAny, kAliHLTComponentDataTypefOriginSize)==0) {
        iResult=idx;
       }
     }