From 4be14ab92ed6456e6d5bec5777fe7df5738112e7 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 3 Jan 2025 12:07:39 +0100 Subject: FIX: Fix implementation of the HFS traversal algorithm. FIX: Fix SysChk, by removing unused handover header in code. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/src/KernelMain.cc | 54 +++++++++++--------------------------------- 1 file changed, 13 insertions(+), 41 deletions(-) (limited to 'dev/Kernel/src/KernelMain.cc') diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc index 981866d2..3a123e1b 100644 --- a/dev/Kernel/src/KernelMain.cc +++ b/dev/Kernel/src/KernelMain.cc @@ -40,12 +40,9 @@ namespace Kernel::Detail if (mNeFS) { - mJournal.CreateJournal(mNeFS); - - constexpr auto kFolderInfo = "META-XML"; - const SizeT kFolderCount = 7; + const SizeT kFolderCount = 8; const Char* kFolderStr[kFolderCount] = { - "/Boot/", "/System/", "/Support/", "/Applications/", + "/", "/Boot/", "/System/", "/Support/", "/Applications/", "/Users/", "/Library/", "/Mount/"}; for (Kernel::SizeT dir_index = 0UL; dir_index < kFolderCount; ++dir_index) @@ -63,46 +60,21 @@ namespace Kernel::Detail catalog_folder = mNeFS->CreateCatalog(kFolderStr[dir_index], 0, kNeFSCatalogKindDir); - NFS_FORK_STRUCT fork_folder{0}; - - Kernel::rt_copy_memory((Kernel::VoidPtr)(kFolderInfo), fork_folder.ForkName, - Kernel::rt_string_len(kFolderInfo)); - - Kernel::rt_copy_memory((Kernel::VoidPtr)(catalog_folder->Name), - fork_folder.CatalogName, - Kernel::rt_string_len(catalog_folder->Name)); - - fork_folder.DataSize = kNeFSForkSize; - fork_folder.ResourceId = 0; - fork_folder.ResourceKind = Kernel::kNeFSRsrcForkKind; - fork_folder.Kind = Kernel::kNeFSDataForkKind; - - Kernel::KString folder_metadata(2048); - - folder_metadata += - "\r

Kind: folder

\r

Created by: system

\r

Edited by: " - "system

\r

Volume Type: Zeta

\r"; - - folder_metadata += "

Path: "; - folder_metadata += kFolderStr[dir_index]; - folder_metadata += "

\r"; - - Kernel::KString folder_name(2048); - folder_name += catalog_folder->Name; - - mJournal.Commit(mNeFS, folder_metadata, folder_name); - - const Kernel::SizeT kMetaDataSz = kNeFSSectorSz; - - mNeFS->CreateFork(catalog_folder, fork_folder); - - mNeFS->WriteCatalog( - catalog_folder, true, (Kernel::VoidPtr)(folder_metadata.CData()), - kMetaDataSz, kFolderInfo); + if (!catalog_folder) + continue; delete catalog_folder; catalog_folder = nullptr; } + + mJournal.CreateJournal(mNeFS); + KString xml; + xml += "Formatted Filesystem"; + + KString name; + name += "FORMAT"; + + mJournal.Commit(mNeFS, xml, name); } } -- cgit v1.2.3