summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/IndexableProperty.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/src/IndexableProperty.cc')
-rw-r--r--dev/kernel/src/IndexableProperty.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/dev/kernel/src/IndexableProperty.cc b/dev/kernel/src/IndexableProperty.cc
index 1d2a1ce8..251d6645 100644
--- a/dev/kernel/src/IndexableProperty.cc
+++ b/dev/kernel/src/IndexableProperty.cc
@@ -6,6 +6,8 @@
#include <CompilerKit/CompilerKit.h>
#include <FSKit/IndexableProperty.h>
+#include <NeKit/KString.h>
+#include <NeKit/KernelPanic.h>
#include <NeKit/MutableArray.h>
#include <NeKit/Utils.h>
@@ -16,13 +18,21 @@
namespace Kernel {
namespace Indexer {
- Index& IndexableProperty::Leak() noexcept { return fIndex; }
+ Index& IndexableProperty::Leak() noexcept {
+ return fIndex;
+ }
- Void IndexableProperty::AddFlag(Int16 flag) { fFlags |= flag; }
+ Void IndexableProperty::AddFlag(Int16 flag) {
+ fFlags |= flag;
+ }
- Void IndexableProperty::RemoveFlag(Int16 flag) { fFlags &= flag; }
+ Void IndexableProperty::RemoveFlag(Int16 flag) {
+ fFlags &= flag;
+ }
- Int16 IndexableProperty::HasFlag(Int16 flag) { return fFlags & flag; }
+ Int16 IndexableProperty::HasFlag(Int16 flag) {
+ return fFlags & flag;
+ }
/// @brief Index a file into the indexer instance.
/// @param filename filesystem path to access.
@@ -32,7 +42,8 @@ namespace Indexer {
Void fs_index_file(const Char* filename, SizeT filenameLen, IndexableProperty& indexer) {
if (!indexer.HasFlag(kIndexerClaimed)) {
indexer.AddFlag(kIndexerClaimed);
- rt_copy_memory((VoidPtr) indexer.Leak().Path, (VoidPtr) filename, filenameLen);
+ rt_copy_memory_safe(reinterpret_cast<VoidPtr>(const_cast<Char*>(filename)),
+ (VoidPtr) indexer.Leak().Path, filenameLen, kIndexerCatalogNameLength);
(Void)(kout << "FSKit: Indexed new file: " << filename << kendl);
}