TempleOSCDV4.02.ISO
This commit is contained in:
1 parent
fedf66361e
commit
1541d7328d
171 files changed
+5326
-5237
No files matched your search
@@ -13,7 +13,7 @@ Bool ISODrvInit(CDrv *dv,I64 blk)
|
||||
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
dv->type=DVT_ISO9660; //default
|
||||
dv->fs_type=FSt_ISO9660; //default
|
||||
dv->spc=spc;
|
||||
dv->base_offset=dv->data_area=dv->root_cluster=dv->size=0;
|
||||
while (TRUE) {
|
||||
@@ -24,7 +24,7 @@ Bool ISODrvInit(CDrv *dv,I64 blk)
|
||||
switch (LstMatch(buf,"CD001\0CDW02\0BEA01\0BOOT2\0NSR02\0NSR03\0TEA01\0",
|
||||
LMF_EXACT)) {
|
||||
case 0:
|
||||
dv->type=DVT_ISO9660;
|
||||
dv->fs_type=FSt_ISO9660;
|
||||
switch (iso->type) {
|
||||
case ISO1T_SUPPLEMENTARY_DESC:
|
||||
dv->data_area=0;
|
||||
@@ -48,7 +48,7 @@ ipi_done:
|
||||
if (unlock)
|
||||
DrvUnlock(dv);
|
||||
} catch {
|
||||
dv->type=DVT_ISO9660;
|
||||
dv->fs_type=FSt_ISO9660;
|
||||
dv->spc=spc;
|
||||
dv->base_offset=dv->data_area=dv->root_cluster=0;
|
||||
Free(iso);
|
||||
@@ -137,7 +137,7 @@ Bool ISO1FileFind(CDrv *dv,I64 cur_dir_cluster,U8 *name,
|
||||
if (fuf_flags&~FUG_FILE_FIND)
|
||||
throw('FUF');
|
||||
DrvChk(dv);
|
||||
if (dv->type!=DVT_ISO9660)
|
||||
if (dv->fs_type!=FSt_ISO9660)
|
||||
PrintErr("Not ISO9660 Drv\n");
|
||||
else
|
||||
try {
|
||||
@@ -195,7 +195,7 @@ U8 *ISO1FileRead(CDrv *dv,U8 *cur_dir,U8 *filename,I64 *_size,I64 *_attr)
|
||||
DrvChk(dv);
|
||||
*_size=0;
|
||||
*_attr=0;
|
||||
if (dv->type!=DVT_ISO9660)
|
||||
if (dv->fs_type!=FSt_ISO9660)
|
||||
PrintErr("Not ISO9660 Drv\n");
|
||||
else
|
||||
try {
|
||||
@@ -219,7 +219,7 @@ U8 *ISO1FileRead(CDrv *dv,U8 *cur_dir,U8 *filename,I64 *_size,I64 *_attr)
|
||||
Bool ISO1Cd(U8 *name,I64 cur_dir_cluster)
|
||||
{
|
||||
CDirEntry de;
|
||||
if (Fs->cur_dv->type!=DVT_ISO9660)
|
||||
if (Fs->cur_dv->fs_type!=FSt_ISO9660)
|
||||
PrintErr("Not ISO9660 Drv\n");
|
||||
else if (ISO1FileFind(Fs->cur_dv,cur_dir_cluster,name,&de,FUF_JUST_DIRS))
|
||||
return TRUE;
|
||||
@@ -269,16 +269,18 @@ CDirEntry *ISO1FilesFind(U8 *files_find_mask,
|
||||
tempde->sub=ISO1FilesFind(files_find_mask,fuf_flags,tempde);
|
||||
Cd("..");
|
||||
}
|
||||
} else if ((tempde->attr & RS_ATTR_DIR ||
|
||||
!Bt(&fuf_flags,FUf_JUST_DIRS)) &&
|
||||
!(Bt(&fuf_flags,FUf_RECURSE) &&
|
||||
*tempde->name=='.' && tempde->attr&RS_ATTR_DIR) &&
|
||||
FilesFindMatch(tempde->name,files_find_mask,fuf_flags)) {
|
||||
tempde->next=result;
|
||||
result=tempde;
|
||||
} else {
|
||||
tempde->full_name=FileNameAbs(tempde->name);
|
||||
} else
|
||||
DirEntryDel(tempde);
|
||||
if ((tempde->attr & RS_ATTR_DIR ||
|
||||
!Bt(&fuf_flags,FUf_JUST_DIRS)) &&
|
||||
!(Bt(&fuf_flags,FUf_RECURSE) &&
|
||||
*tempde->name=='.' && tempde->attr&RS_ATTR_DIR) &&
|
||||
FilesFindMatch(tempde->full_name,files_find_mask,fuf_flags)) {
|
||||
tempde->next=result;
|
||||
result=tempde;
|
||||
} else
|
||||
DirEntryDel(tempde);
|
||||
}
|
||||
} else
|
||||
DirEntryDel(tempde);
|
||||
i-=buf->len;
|
||||
|
||||
Reference in new issue
Block a user