Курсовая работа: Системное программирование для операционных систем
//выход при необходимости
if (DirectoryNever || Owner->Term() ) return false;
int i, j,k;
TIntArray *T;
j=ExNames->IndexOf(Name);
if(j>=0)//имя в списке исключений
{
if(ExNames->At(j) == NULL) {//создать массив
T = new TIntArray(3);
ExNames->Objects[j]=(TObject *)T;
}
(ExNames->At(j))->Add(PathNum);//добавить номер каталога
}
else
{
i=GlobalList->IndexOf(Name);
if(i>=0)//такой файл уже есть
{
j = NameList->IndexOf(Name);
if(j>=0) (NameList->At(j))->Add(PathNum);//добавить номер каталога в массив
else { //создать и заполнить массив номеров каталогов
T = new TIntArray(3);
T->Add(GlobalList->At(i));
T->Add(PathNum);
//включить файл в список одинаковых
NameList->AddObject(Name,(TObject *)T);
}
}
else GlobalList->AddObject(Name,(TObject *)PathNum);//включить файл в общий список