📄 delete.c
字号:
#include <stdio.h>
#include "filesys.h"
delete(char *filename)
{
unsigned int dinodeid,i;
struct inode *inode;
dinodeid=namei(filename);
printf("dinodeid=%d,dir.size=%d\n",dinodeid,dir.size);
if(dinodeid!=NULL)
inode=iget(dinodeid);
inode->di_number--;
for(i=0;i<dir.size;i++)
if(dir.direct[i].d_ino==dinodeid) break;
printf("i=%d\n",i);
i++;
while(dir.direct[i].d_ino!=NULL)
{
strcpy(dir.direct[i-1].d_name,dir.direct[i].d_name);
dir.direct[i-1].d_ino=dir.direct[i].d_ino;
i++;
}
dir.direct[i-1].d_ino=0;
dir.size=i-1;
printf("di_number=%d\n",inode->di_number);
iput(inode);
printf("dir.size=%d\n",dir.size);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -