innoextract-1.7_inno_5.6.2_0001.patch (2226B)
- From 5cf1cb3ba07eba8d32b4bb961ba80401ea8248e7 Mon Sep 17 00:00:00 2001
- From: Daniel Scharrer <daniel@constexpr.org>
- Date: Sat, 8 Sep 2018 03:24:54 +0200
- Subject: [PATCH] Add preliminary Inno Setup 5.6.2 support
- ---
- CHANGELOG | 1 +
- src/setup/header.cpp | 13 +++++++++++--
- src/setup/header.hpp | 2 ++
- 3 files changed, 14 insertions(+), 2 deletions(-)
- diff --git a/src/setup/header.cpp b/src/setup/header.cpp
- index 1484181..844b2e9 100644
- --- a/src/setup/header.cpp
- +++ b/src/setup/header.cpp
- @@ -236,6 +236,13 @@ void header::load(std::istream & is, const version & version) {
- } else {
- setup_mutex.clear();
- }
- + if(version >= INNO_VERSION(5, 6, 1)) {
- + is >> util::encoded_string(changes_environment, version.codepage());
- + is >> util::encoded_string(changes_associations, version.codepage());
- + } else {
- + changes_environment.clear();
- + changes_associations.clear();
- + }
- if(version >= INNO_VERSION(5, 2, 5)) {
- is >> util::ansi_string(license_text);
- is >> util::ansi_string(info_before);
- @@ -498,7 +505,9 @@ void header::load(std::istream & is, const version & version) {
- if(version < INNO_VERSION(1, 3, 21)) {
- flagreader.add(OverwriteUninstRegEntries);
- }
- - flagreader.add(ChangesAssociations);
- + if(version < INNO_VERSION(5, 6, 1)) {
- + flagreader.add(ChangesAssociations);
- + }
- }
- if(version >= INNO_VERSION(1, 3, 21)) {
- if(version < INNO_VERSION(5, 3, 8)) {
- @@ -562,7 +571,7 @@ void header::load(std::istream & is, const version & version) {
- if(version >= INNO_VERSION(4, 2, 2)) {
- flagreader.add(EncryptionUsed);
- }
- - if(version >= INNO_VERSION(5, 0, 4)) {
- + if(version >= INNO_VERSION(5, 0, 4) && version < INNO_VERSION(5, 6, 1)) {
- flagreader.add(ChangesEnvironment);
- }
- if(version >= INNO_VERSION(5, 1, 7) && !version.unicode) {
- diff --git a/src/setup/header.hpp b/src/setup/header.hpp
- index a21dba0..8975e2f 100644
- --- a/src/setup/header.hpp
- +++ b/src/setup/header.hpp
- @@ -154,6 +154,8 @@ struct header {
- std::string uninstallable;
- std::string close_applications_filter;
- std::string setup_mutex;
- + std::string changes_environment;
- + std::string changes_associations;
- std::string license_text;
- std::string info_before;
- std::string info_after;