TempleOSCDV4.02.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:54 +02:00
1 parent fedf66361e
commit 1541d7328d
171 files changed
+5326 -5237

No files matched your search

+16 -6
View File
@@ -22,12 +22,13 @@ CDirContext *DirContextNew(U8 *_mask,Bool make_mask=FALSE,
Bool make_dirs=FALSE,Bool no_mask=FALSE)
{//Save cur_dir and drv. Change to new dir.
Bool valid=TRUE,old_silent;
U8 *buf,*mask,*temp_mask;
I64 mask_len=StrLen(_mask);
U8 *buf,*mask,*temp_mask,*semicolon_mask;
CDirContext *dirc=CAlloc(sizeof(CDirContext));
mask=MStrUtil(_mask,SUF_REM_LEADING|SUF_REM_TRAILING|SUF_REM_CTRL_CHARS);
temp_mask=mask;
dirc->old_dir=StrNew(Fs->cur_dir);
dirc->old_dv=Fs->cur_dv;
mask=MStrUtil(_mask,SUF_REM_LEADING|SUF_REM_TRAILING|SUF_REM_CTRL_CHARS);
temp_mask=mask;
if (*mask && mask[1]==':') {
if (Fs->cur_dv!=Let2Drv(*mask) && !Drv(*mask))
valid=FALSE;
@@ -35,13 +36,22 @@ CDirContext *DirContextNew(U8 *_mask,Bool make_mask=FALSE,
}
dirc->dv=Fs->cur_dv;
DrvChk(dirc->dv);
buf=MAlloc(StrLen(mask)+2);
buf=MAlloc(mask_len+2);
StrCpy(buf,mask);
dirc->mask=MAlloc(StrLen(mask)+2);
dirc->mask=MAlloc(mask_len+2);
if (no_mask)
*dirc->mask=0;
else
else if (StrOcc(buf,';')) {
semicolon_mask=MAlloc(mask_len+2);
StrCpy(semicolon_mask,mask);
StrFirstRem(semicolon_mask,";",buf);
StrLastRem(buf,"/",dirc->mask);
CatPrint(dirc->mask,";%s",semicolon_mask);
Free(semicolon_mask);
} else
StrLastRem(buf,"/",dirc->mask);
if (*mask=='/' && !*buf)
StrCpy(buf,"/");
//If began with Dir, change to Dir.