Compare commits

...

3 Commits

Author SHA1 Message Date
FactorialN
bc9a7d0b3c
Merge pull request #17 from SuperconductZB/guangzheliu/someotherfix
FINAL FIX
2023-12-06 12:39:13 -08:00
FactorialN
ced1ba5682 I loveos 2023-12-06 12:37:52 -08:00
FactorialN
26be612d92
Merge pull request #16 from SuperconductZB/fileioerrno
added better errno to fileio
2023-12-06 00:15:07 -08:00

View File

@ -223,6 +223,7 @@ bool FilesOperation::permission_check(int mask, INode_Data *inode) {
mode_t per = (mode_t)inode->metadata.permissions; mode_t per = (mode_t)inode->metadata.permissions;
uid_t uid = (uid_t)inode->metadata.uid; uid_t uid = (uid_t)inode->metadata.uid;
gid_t gid = (gid_t)inode->metadata.gid; gid_t gid = (gid_t)inode->metadata.gid;
if (getuid() == 0) return true;
// printf("PERMISSION CHECK %d %llu %llu %o\n", mask, uid, gid, per); // printf("PERMISSION CHECK %d %llu %llu %o\n", mask, uid, gid, per);
if (getuid() == uid) { if (getuid() == uid) {
if ((mask & R_OK) && !(per & S_IRUSR)) { if ((mask & R_OK) && !(per & S_IRUSR)) {
@ -1162,6 +1163,7 @@ int FilesOperation::fischl_rename(const char *old_path, const char *new_path,
break; break;
} }
} }
unlink_inode(rename_info.oldFileNode->inode_number);
fischl_rm_entry(rename_info.oldParentNode->subdirectory, filename); fischl_rm_entry(rename_info.oldParentNode->subdirectory, filename);
fischl_rm_entry(rename_info.newParentNode->subdirectory, fischl_rm_entry(rename_info.newParentNode->subdirectory,
rename_info.newName); rename_info.newName);