TempleOSTS_140317.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:02 +02:00
1 parent 2d2a65d572
commit 7ef616a20e
1416 files changed
+223873 -53917

No files matched your search

+111
View File
@@ -0,0 +1,111 @@
#help_index "Utils;Cmd Line (Typically)"
I64 LineRep1(CDirEntry *tempde)
{
CDoc *doc;
I64 result=0,i;
while (tempde) {
i=0;
if (tempde->attr&_ATTR_DIR)
i=LineRep1(tempde->sub);
else {
doc=DocRead(tempde->full_name);
if (doc->root.next!=doc)
i=doc->root.last->y+2;
DocDel(doc);
}
tempde->user_data=i;
result+=i;
tempde=tempde->next;
}
return result;
}
U0 LineRep2(CDoc *doc,CDirEntry *tempde)
{
while (tempde) {
if (tempde->attr&_ATTR_DIR) {
DocPrint(doc,"%8,d $$TR+C,\"%s\"$$\n$$ID,2$$",tempde->user_data,tempde->name);
LineRep2(doc,tempde->sub);
DocPrint(doc,"$$ID,-2$$");
} else
DocPrint(doc,"%8,d $$LK,\"%s\",A=\"FI:%s\"$$\n",
tempde->user_data,tempde->name,tempde->full_name);
tempde=tempde->next;
}
}
public I64 LineRep(U8 *files_find_mask="/*",U8 *fu_flags=NULL)
{
I64 fuf_flags=0,result=0;
CDoc *doc=DocNew;
CDirEntry *tempde1=NULL;
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+r+S");
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
if (tempde1=FilesFind(files_find_mask,fuf_flags)) {
result=LineRep1(tempde1);
DocPrint(doc,"%8,d $$TR+C,\"%s\"$$\n$$ID,2$$",result,files_find_mask);
LineRep2(doc,tempde1);
DocPrint(doc,"$$ID,-2$$");
DirLstDel(tempde1);
}
DocInsDoc(DocPut,doc);
DocDel(doc);
return result;
}
I64 SizeRep1(CDirEntry *tempde,I64 *_fuf_flags)
{
I64 result=0,i;
U8 buf[BLK_SIZE];
CPrt *p;
while (tempde) {
if (tempde->attr&_ATTR_DIR)
i=SizeRep1(tempde->sub,_fuf_flags);
else if ((i=tempde->size) && Bt(_fuf_flags,FUf_EXPAND) &&
FileAttr(tempde->name)&_ATTR_COMPRESSED) {
p=Drv2Prt(*tempde->full_name);
RBlks(p,buf,Cluster2Blk(p,tempde->cluster),1);
i=(&buf)(CArcCompress *)->expanded_size;
}
tempde->user_data=i;
result+=i;
tempde=tempde->next;
}
return result;
}
U0 SizeRep2(CDoc *doc,CDirEntry *tempde)
{
while (tempde) {
if (tempde->attr&_ATTR_DIR) {
DocPrint(doc,"%10,d $$TR+C,\"%s\"$$\n$$ID,2$$",tempde->user_data,tempde->name);
SizeRep2(doc,tempde->sub);
DocPrint(doc,"$$ID,-2$$");
} else {
DocPrint(doc,"%10,d ",tempde->user_data);
DocPrint(doc,"$$LK,\"%s\",A=\"FI:%s\"$$\n",
tempde->name,tempde->full_name);
}
tempde=tempde->next;
}
}
public I64 SizeRep(U8 *files_find_mask="/*",U8 *fu_flags=NULL)
{
//"+x" for expanded size.
I64 fuf_flags=0,result=0;
CDoc *doc=DocNew;
CDirEntry *tempde1=NULL;
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+r");
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
if (tempde1=FilesFind(files_find_mask,fuf_flags&FUG_FILES_FIND)) {
fuf_flags&=FUF_EXPAND;
result=SizeRep1(tempde1,&fuf_flags);
DocPrint(doc,"%10,d $$TR+C,\"%s\"$$\n$$ID,2$$",result,files_find_mask);
SizeRep2(doc,tempde1);
DocPrint(doc,"$$ID,-2$$");
DirLstDel(tempde1);
}
DocInsDoc(DocPut,doc);
DocDel(doc);
return result;
}
#help_index ""