name.c
来自「设计并实现一个多用户多级目录结构的文件系统」· C语言 代码 · 共 45 行
C
45 行
/************************************************/
/* */
/* name.c */ //完成
/* */
/************************************************/
#include <string.h>
#include <stdio.h>
#include "filsys.h"
unsigned int namei( char * name ) /* namei */
{
int i;
if( strcmp( name, ".." ) == 0 )
return dir.direct[0].d_ino;
if( strcmp( name, "." ) == 0 )
return dir.direct[1].d_ino;
for( i = 2; i < dir.size; i++ )
if(( !strcmp( dir.direct[i].d_name, name )) && ( dir.direct[i].d_ino != 0 ))
return dir.direct[i].d_ino; /* find */
/* not find */
return NULL;
}
/* 分配空闲目录结构 */
unsigned short iname( char * name )
{/*
int i, notfound = 1;
for( i = 0; (( i < DIRNUM ) && (notfound)); i++ )
if( dir.direct[i].d_ino == 0 )
{
notfound = 0;
break;
}*/
if( dir.size == DIRNUM )
{
printf( "Current directory is full\n" );
return 0;
}
strcpy( dir.direct[dir.size].d_name, name );
return dir.size;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?