mhausherr / Light-Untar-for-iOS

Very light and pragmatic untar utility for iOS
Other
88 stars 37 forks source link

Why I couldn't untar these specific tar files? #25

Open iori57 opened 9 years ago

iori57 commented 9 years ago

Any files listed here: https://code.google.com/p/tesseract-ocr/downloads/list

For example, this file: https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.deu.tar.gz

It is a tar.gz, I have no problem using another library to extract it to become just tar, however when I tried to use this library it fails to untar it.. I stepped into the code and found that at one point it reach a line with comment "// It's a nul block" and finally "// It's not a tar type" with error "invalid block type"

Any suggestion on what to look for? I tried to use untar command in OSX terminal and it manage to untar the same file without issue so it shouldn't be corrupted. Furthermore I tried on the rest of the files in the download list all of them gives the same behaviour.

Is there different formats for TAR files?

Thanks in advance!

iori57 commented 9 years ago

Seems like it is due to the 'L' block type, which means very long file names

https://github.com/mhausherr/Light-Untar-for-iOS/issues/20

How to handle long file names?

vittoriom commented 9 years ago

I think we're going to properly fork this repo, add the 'L' block type support, and open a PR. Will mention it here!

vittoriom commented 9 years ago

We forked the repo, you can find our version here https://github.com/vittoriom/Light-Untar-for-iOS

The PR for the long filename support is here https://github.com/mhausherr/Light-Untar-for-iOS/pull/27

;)