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 + -
显示快捷键?