diff --git a/src/add-ons/kernel/file_systems/packagefs/IndexImpl.h b/src/add-ons/kernel/file_systems/packagefs/IndexImpl.h index c337aee24d..cb01f8a7c0 100644 --- a/src/add-ons/kernel/file_systems/packagefs/IndexImpl.h +++ b/src/add-ons/kernel/file_systems/packagefs/IndexImpl.h @@ -93,10 +93,8 @@ GenericIndexIterator::Next(void* buffer, size_t* _keyLength) Node* node = _ToNode(); if (node != NULL) { - if (buffer != NULL) { - strlcpy((char*)buffer, node->Name(), kMaxIndexKeyLength); - *_keyLength = strlen(node->Name()); - } + if (buffer != NULL) + Policy::GetNodeValue(node, buffer, _keyLength); fNextTreeNode = Policy::GetNodeTree(fIndex)->Next(fNextTreeNode); } diff --git a/src/add-ons/kernel/file_systems/packagefs/NameIndex.cpp b/src/add-ons/kernel/file_systems/packagefs/NameIndex.cpp index 9504b69061..25bb84cd97 100644 --- a/src/add-ons/kernel/file_systems/packagefs/NameIndex.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/NameIndex.cpp @@ -94,6 +94,12 @@ struct NameIndex::IteratorPolicy { { return index->fEntries; } + + static void GetNodeValue(Node* node, void* buffer, size_t* _keyLength) + { + strlcpy((char*)buffer, node->Name(), kMaxIndexKeyLength); + *_keyLength = strlen(node->Name()); + } };