U0 MakeSymFiles() { CDoc *doc; U8 *st; DocClear; DocMax; HashTablePurge(adam_task->hash_table); Who; if (doc=DocPut) { st=StrNew(doc->filename.name); StrCpy(doc->filename.name,"/Home/Web/SymsAlpha.DD.Z"); DocWrite(doc); StrCpy(doc->filename.name,st); Free(st); } DocClear; DocMax; Who("+m"); if (doc=DocPut) { st=StrNew(doc->filename.name); StrCpy(doc->filename.name,"/Home/Web/SymsAddress.DD.Z"); DocWrite(doc); StrCpy(doc->filename.name,st); Free(st); } DocClear; } I64 MakeLineRepFile() { U8 *st; CDoc *doc; I64 res=0; DocClear; Drv('C'); // DistroPrep; Cd("C:/"); DelTree("B:/User/User"); DirMk("B:/User"); CopyTree("C:/Home","B:/User/User"); // DelTree("B:/TOS/TOS"); // CopyTree("C:/Home","B:/TOS/TOS"); DelTree("C:/Home"); DocMax; DocClear; res=LineRep; if (doc=DocPut) { st=StrNew(doc->filename.name); StrCpy(doc->filename.name,"B:/User/User/Web/LineRep.DD.Z"); DocWrite(doc); StrCpy(doc->filename.name,st); Free(st); } CopyTree("B:/User/User","C:/Home"); DelTree("B:/User"); "Total LOC:%12,d\n\n",res; return res; } U0 FreshenSubDirs(U8 *path) { CDirEntry *tmpde,*tmpde1; Cd(path); tmpde=tmpde1=FilesFind("*", FUF_RECURSE|FUF_JUST_DIRS|FUF_CLUS_ORDER); while (tmpde) { "full_name: %s\n", tmpde->full_name+2; FreshenWebDir(tmpde->full_name+2); FreshenSubDirs(tmpde->full_name+2); tmpde=tmpde->next; } DirTreeDel(tmpde1); Cd(path);Cd(".."); } U0 FreshenWb() { CDirEntry *tmpde,*tmpde1; Drv('C'); MakeSymFiles; MakeLineRepFile; DelTree("D:/Wb"); DirMk("D:/Wb"); FreshenWebDir("/"); tmpde=tmpde1=FilesFind("/*;!*/Home/User*", FUF_RECURSE|FUF_JUST_DIRS|FUF_CLUS_ORDER); while (tmpde) { FreshenWebDir(tmpde->full_name+2); FreshenSubDirs(tmpde->full_name+2); tmpde=tmpde->next; } DirTreeDel(tmpde1); Drv('C');Cd("/Home/Web"); } U0 BackupWb() { Bool ok=FileFind("D:/Wb"); if(!ok) { PrintErr("'D:/Wb' does not exist. Generate first!\n"); return; } ok=FileFind("E:/Wb"); if(!ok) { PrintErr("'E:/Wb' does not exist. Mount or create!\n"); return; } DelTree("E:/Wb/*"); CopyTree("D:/Wb","E:/Wb"); }