[RAPPS] Replace Extract with FDI for handling .cab

FDI allows to have user-defined callbacks for file handling.
Since it doesn't provide support for Unicode we convert strings to
multi-byte UTF-8 and handle them appropriately in the callbacks. They
are properly null-terminated so FDI won't choke when doing operations
with strings.

Thanks to hbelusca and mjansen for the help.

CORE-14466
This commit is contained in:
Alexander Shaposhnikov 2018-02-25 15:20:00 +02:00
parent 602db40277
commit 9591550116
No known key found for this signature in database
GPG key ID: 2BC6459908479EFC
7 changed files with 348 additions and 90 deletions

View file

@ -9,6 +9,7 @@ include_directories(include)
list(APPEND SOURCE
aboutdlg.cpp
available.cpp
cabinet.cpp
gui.cpp
installed.cpp
integrity.cpp
@ -22,7 +23,6 @@ list(APPEND SOURCE
include/gui.h
include/dialogs.h
include/installed.h
include/cabinet.h
include/crichedit.h
include/defines.h
include/misc.h