vlm / zip-fix-filename-encoding

Fix cyrillic character encoding of filenames inside zip archives
BSD 2-Clause "Simplified" License
48 stars 2 forks source link

Read error: Undefined error: 0 #2

Closed skabbit closed 5 years ago

skabbit commented 5 years ago

Here is example of such file: Shimanvj%202014.zip

zvezdochiot commented 5 years ago

???

(runzip || unzipru) 1.4
$ unzipru Shimanvj.202014.zip 
Shimanvj.202014.zip contains 599 files
  Управляющего делами администрации.html: FIXED (CP866 -> UTF-8)
  2014 сов_files/: FIXED (CP866 -> UTF-8)
  2014 сов_files/0.png: FIXED (CP866 -> UTF-8)
 ...
  Директора МБУ Межмуниципальное.html: FIXED (CP866 -> UTF-8)
  Заместителя главы администрации.html: FIXED (CP866 -> UTF-8)
  Заместителя начальника МУ Управление по образованию.html: FIXED (CP866 -> UTF-8)

No errors!

skabbit commented 5 years ago

I'm using last master commit from this repo on MacOS Mojave.

$ runzip Shimanvj.202014.zip
Shimanvj.202014.zip: Read error: Undefined error: 0

What is unzipru?

???

(runzip || unzipru) 1.4
$ unzipru Shimanvj.202014.zip 
Shimanvj.202014.zip contains 599 files
  Управляющего делами администрации.html: FIXED (CP866 -> UTF-8)
  2014 сов_files/: FIXED (CP866 -> UTF-8)
  2014 сов_files/0.png: FIXED (CP866 -> UTF-8)
 ...
  Директора МБУ Межмуниципальное.html: FIXED (CP866 -> UTF-8)
  Заместителя главы администрации.html: FIXED (CP866 -> UTF-8)
  Заместителя начальника МУ Управление по образованию.html: FIXED (CP866 -> UTF-8)

No errors!

zvezdochiot commented 5 years ago

@skabbit say> What is unzipru?

Unzipru - renamed runzip for convenience.

unzipru test.zip
unzip test.zip

PS: Debian GNU/Linux

src$ grep -n "Read" *
(none)
libzip-0.7.1/lib$ grep -n "Read" *
zip_err_str.c:20:    "Read error",

This is a libzip error, not runzip! Ask at http://www.nih.at/libzip/

skabbit commented 5 years ago

This is a libzip error, not runzip! Ask at http://www.nih.at/libzip/

Thank you! I think it depends on libzip version, so I'm closing this issue, but will write the proper version (ot options) after figure out the reason.