anchor.diff:          FileHeader/binary
       >>;
   
  -prepare_header(Filename, FilenameSize, FileSize, Mode, Timestamp, Type) when FilenameSize =< ?MAX_FILENAME_LENGTH ->
  +file_header(Filename, FilenameSize, FileSize, Mode, Timestamp, Type) when FilenameSize =< ?MAX_FILENAME_LENGTH ->
       % use root(0) as owner/group - by default it will be overwritten when untarring
       PaddedOwner = str_utils:pad_left(format_octal(0), 7, ?VALUE_PAD),
       PaddedGroup = str_utils:pad_left(format_octal(0), 7, ?VALUE_PAD),
  
positive.code:     calculate_checksum(Rest, Acc1);
  calculate_checksum(<<>>, Acc) -> Acc.
  
  
negative.code: -author("Michal Stanisz").
  
  %% API
  -export([open_archive/0, open_archive/1]).
  -export([new_file_entry/6]).
  -export([append_to_file_content/2, append_to_file_content/3]).
  -export([close_archive/1]).
  -export([read_bytes/1]).
  
  -define(BLOCK_SIZE, 512).
  -define(DIRECTORY_TYPE_FLAG, <<"5">>).
  