anchor.diff:    FTarItem.Mode := Value;
     S := PadString(IntToOctal(Value), SizeOf(Arr8));
     for I := 0 to FTarHeaderList.Count - 1 do
  -    if HeaderType(FTarHeaderTypeList.Items[I]) in [FILE_HEADER, META_DATA_HEADER] then
  +    if TAbTarHeaderType(FTarHeaderTypeList.Items[I]) in [FILE_HEADER, META_DATA_HEADER] then
         Move(S[1], PAbTarHeaderRec(FTarHeaderList.Items[I]).Mode, Length(S));
     FTarItem.Dirty := True;
   end;
  
positive.code:   if FTarItem.ItemReadOnly then { Read Only - Do Not Save }
      Exit;
    FTarItem.Magic := AnsiString(Value);
    Move(Value[1], PTarHeader.Magic, SizeOf(TMagicRec));
    FTarItem.Dirty := True;
  end;
  
  
negative.code:   ArrName = array [0..AB_TAR_NAMESIZE-1] of AnsiChar;
    TAbTarHeaderFormat = (UNKNOWN_FORMAT, V7_FORMAT, OLDGNU_FORMAT, GNU_FORMAT,
                          USTAR_FORMAT, STAR_FORMAT, POSIX_FORMAT);
    TAbTarItemType = (SUPPORTED_ITEM, UNSUPPORTED_ITEM, UNKNOWN_ITEM);
    TAbTarHeaderType = (FILE_HEADER, META_DATA_HEADER, MD_DATA_HEADER, UNKNOWN_HEADER);
    TAbTarMagicType = (GNU_OLD, NORMAL);
    TAbTarMagicRec = packed record
      case TAbTarMagicType of
        GNU_OLD: (gnuOld : array[0..7] of AnsiChar); { Old GNU magic: (Magic.gnuOld) }
        NORMAL : (value  : array[0..5] of AnsiChar;  {   Magic value: (Magic.value)}
                  version: array[0..1] of AnsiChar); {       Version: (Magic.version) }
  