@LongLink

GNU形式のtarにある程度対応しました。
tar_file.hppの差分
変更点:

  • 負のtime_tに対応(1970/01/01 00:00:00+00:00より昔は負になります!)
  • バイスファイル以外のメジャー番号とマイナー番号をパースしない
  • @LongLinkを使った100バイト以上のファイル名、リンク先に対応


ustar(POSIX.1-1988)形式ではファイル名とリンク先の名前は100バイトに制限されます。
GNU形式では、100バイトを超えた名前が"././@LongLink"という名前の偽ファイルを使って表現されます。
これに対応していないアーカイバでは通常のファイルとして処理され、問題になることがあります。
google:@LongLink
この名前にピンときたら、GNU tarを使いましょう。


#LongLinkという名前を見ないで、ファイルのタイプを見て分岐したほうがよいことに気が付きました。
#後で直しときます。
↑直しました。差分