void SetExtraInfo(CommandData *Cmd,Archive &Arc,char *Name,wchar *NameW) { switch(Arc.SubBlockHead.SubType) { #if defined(_EMX) && !defined(_DJGPP) case EA_HEAD: if (Cmd->ProcessEA) ExtractOS2EA(Arc,Name); break; #endif #ifdef _UNIX case UO_HEAD: if (Cmd->ProcessOwners) ExtractUnixOwner(Arc,Name); break; #endif #ifdef _BEOS case BEEA_HEAD: if (Cmd->ProcessEA) ExtractBeEA(Arc,Name); break; #endif #ifdef _WIN_32 case NTACL_HEAD: if (Cmd->ProcessOwners) ExtractACL(Arc,Name,NameW); break; case STREAM_HEAD: ExtractStreams(Arc,Name,NameW); break; #endif } }
// RAR3 and RAR5 service header extra records. void SetExtraInfo(CommandData *Cmd,Archive &Arc,wchar *Name) { #ifdef _UNIX if (!Cmd->Test && Cmd->ProcessOwners && Arc.Format==RARFMT15 && Arc.SubHead.CmpName(SUBHEAD_TYPE_UOWNER)) ExtractUnixOwner30(Arc,Name); #endif #ifdef _WIN_ALL if (!Cmd->Test && Cmd->ProcessOwners && Arc.SubHead.CmpName(SUBHEAD_TYPE_ACL)) ExtractACL(Arc,Name); if (Arc.SubHead.CmpName(SUBHEAD_TYPE_STREAM)) ExtractStreams(Arc,Name,Cmd->Test); #endif }