anchor.diff:    { The final index is the Item index that is the header we parse for now }
     { These Detections are referenced from the GNU Tar. }
     PHeader := FTarHeaderList.Items[FTarHeaderList.Count-1];
  -  if(PHeader.Magic.value = StrPas(AB_TAR_MAGIC_VAL)) then
  -    begin { We have one of three types, STAR_FORMAT, USTAR_FORMAT, POSIX_FORMAT }
  +  if(PHeader.Magic.value = AB_TAR_MAGIC_VAL) then
  +  begin { We have one of three types, STAR_FORMAT, USTAR_FORMAT, POSIX_FORMAT }
       { This compare is ported from the GNU Tar: Comment out for now... }
   {    if(PHeader.star.Prefix[130] = #00) and
         (PHeader.star.Atime[0] in ['0'..'7']) and
  
positive.code:   { Note: The SizeOf(TAbTarHeaderRec) = AB_TAR_RECORDSIZE }
    { We should expect FindNext/FirstItem, and next check for bounds. }
    if FtarHeaderList.Count > 0 then
      begin { We're Going to stomp over the headers that are already present }
      { We need to destory the memory we've used }
      PTarHeader := nil;
      for i := (FTarHeaderList.Count-1) downto 0 do
        freemem(FTarHeaderList.Items[i]); { This list holds PAbTarHeaderRec's }
      FTarHeaderList.Clear;
      FTarHeaderTypeList.Clear;
      FTarItem.FileHeaderCount := 0;
  
negative.code:     Result := S
    else begin
      Result := S + ' ';
      Result := StringOfChar(AnsiChar(' '), Places - Length(Result)) + Result;
    end;
  end;
  { Round UP to the nearest Tar Block Boundary. }
  function RoundToTarBlock(Size: Int64) : Int64; overload;
  begin
    Result := (Size + (AB_TAR_RECORDSIZE - 1)) and
  