Removal fully functioning
This commit is contained in:
+7
-2
@@ -87,7 +87,6 @@ void _ListFS_(FileSystem* fs, ino_t inodeNumber, short unsigned numtabs)
|
||||
}
|
||||
|
||||
// Remove a file from the filesystem
|
||||
// TODO: Fix function so that it adds directories, then the file after
|
||||
void RemoveFileFromFS(FileSystem* fs, char* fname)
|
||||
{
|
||||
_RemoveFileFromFS_(fs, 0, fname);
|
||||
@@ -103,7 +102,12 @@ int _RemoveFileFromFS_(FileSystem* fs, ino_t inodeNumber, char* fname)
|
||||
if (!(fs->inodes[inodeNumber].blocks[i].isValid))
|
||||
continue;
|
||||
if (fs->inodes[inodeNumber].blocks[i].isDirectory)
|
||||
{
|
||||
emptyDir =_RemoveFileFromFS_(fs, fs->inodes[inodeNumber].blocks[i].inode, fname + FindNextDirectory(fname) + 1);
|
||||
if (emptyDir)
|
||||
fs->inodes[inodeNumber].blocks[i].isValid = 0;
|
||||
continue;
|
||||
}
|
||||
if (strcmp(fs->inodes[inodeNumber].blocks[i].name, fname) == 0)
|
||||
fs->inodes[inodeNumber].blocks[i].isValid = 0;
|
||||
else
|
||||
@@ -111,6 +115,7 @@ int _RemoveFileFromFS_(FileSystem* fs, ino_t inodeNumber, char* fname)
|
||||
}
|
||||
if (!emptyDir)
|
||||
return 0;
|
||||
fs->inodes[inodeNumber].isValid = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -118,7 +123,7 @@ int _RemoveFileFromFS_(FileSystem* fs, ino_t inodeNumber, char* fname)
|
||||
// TODO: Fix function so that it adds directories, then the file after
|
||||
void ExtractFileFromFS(FileSystem* fs, char* fname)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user