diff --git a/SingOS.img b/SingOS.img index 2f96b7b..091429c 100644 Binary files a/SingOS.img and b/SingOS.img differ diff --git a/a.out b/a.out index 910e81b..a68aa18 100755 Binary files a/a.out and b/a.out differ diff --git a/disk_manager_utility.c b/disk_manager_utility.c index b6a8ddd..f35aee8 100644 --- a/disk_manager_utility.c +++ b/disk_manager_utility.c @@ -153,14 +153,7 @@ int dmu_install_vbr(char* disk_name) { int dmu_print_mtt(char *path) { Directory_Table *directory_table; - if (strcmp(path, "/") != 0) - { - directory_table = lsfs_find_directory(path, false); - } - else - { - directory_table = &p_control.master_table; - } + directory_table = lsfs_find_directory(path, false); printf("\n|------------------------ Directory ------------------------|Control_bits|\n"); diff --git a/lsfs_disk_controller.h b/lsfs_disk_controller.h index 825f48b..3073f61 100644 --- a/lsfs_disk_controller.h +++ b/lsfs_disk_controller.h @@ -188,6 +188,7 @@ Directory_Table* lsfs_find_directory(const char *path, bool drop_filename) { Directory_Table *dir_table = calloc(1, sizeof(Directory_Table)); + printf("Table index: %lu \n",p_control.fsci.master_table_index ); read_data_from_disk(p_control.fsci.master_table_index, DEFAULT_TABLE_SIZE, dir_table); lsfs_string_array split_path = lsfs_string_split_c(path, '/', false); @@ -206,6 +207,7 @@ Directory_Table* lsfs_find_directory(const char *path, bool drop_filename) if (strcmp(dir_table->entries[j].filename, split_path.strings[i].chars) == 0) { int index_sector = dir_table->entries[j].data_pointer[0]; + printf("Table index: %lu \n",index_sector ); read_data_from_disk(index_sector, DEFAULT_TABLE_SIZE, dir_table); break; }