anchor.diff:      end;
     end;{ end numHeaders while }
     { Yes, GNU Tar adds a Nil filled MD data header if Length(Value) mod AB_TAR_RECORDSIZE = 0 }
  -  NumHeaders := Floor((Length(Value)+1) / AB_TAR_RECORDSIZE); { Include Null terminator }
  +  NumHeaders := (Length(Value)+1) div AB_TAR_RECORDSIZE; { Include Null terminator }
     ExtraName := (Length(Value)+1) mod AB_TAR_RECORDSIZE; { Chars in the last Header }
     { Now we have the number of headers set up, stuff the name in the Headers }
     TempStr := AnsiString(Value);
  
positive.code:       FoundName := True;
        NameStr := '';
        NameLength := OctalToInt(PHeader.Size, SizeOf(PHeader.Size));
        NumMHeaders := Floor(NameLength / AB_TAR_RECORDSIZE);
        ExtraName := NameLength mod AB_TAR_RECORDSIZE; { Chars in the last Header }
        { NumMHeaders should never be zero }
        { It appears that it is not null terminated in the blocks }
  
negative.code:       FoundName := True;
        NameStr := '';
        NameLength := OctalToInt(PHeader.Size, SizeOf(PHeader.Size));
        NumMHeaders := NameLength div AB_TAR_RECORDSIZE;
        ExtraName := NameLength mod AB_TAR_RECORDSIZE; { Chars in the last Header }
        { NumMHeaders should never be zero }
        { It appears that it is not null terminated in the blocks }
  