diff -r 0cf8bcb9c8fc -r db994a2ddffa src/INICommand.cpp --- a/src/INICommand.cpp Tue Nov 24 12:21:33 2020 +0100 +++ b/src/INICommand.cpp Wed Nov 25 21:35:07 2020 +0100 @@ -28,9 +28,11 @@ #include "INICommand.h" #include "lib/INIReader.h" +#include "lib/BasicUnescapingINIHandler.h" using namespace std; using namespace relpipe::writer; +using namespace relpipe::in::ini::lib; namespace relpipe { namespace in { @@ -49,6 +51,7 @@ // TODO: configurable hierarchy delimiter // TODO: escape delimiter characters that are part of the section names + // TODO: hierarchical sections should be returned as an array/sequence when such data type is supported in the Relational pipes format and API for (int i = 0; i < currentSection.size(); i++) { if (i > 0)result << "/"; result << currentSection[i]; @@ -166,7 +169,9 @@ void INICommand::process(std::istream& input, std::shared_ptr writer, Configuration& configuration) { FlatINIContentHandler handler(writer, configuration); std::shared_ptr reader(INIReader::create(input)); - reader->addHandler(&handler); + // TODO: configure the INIReader (features/properties) according to our Configuration (sub-keys etc.) + BasicUnescapingINIContentHandler unescapingHandler(handler, true); + reader->addHandler(&unescapingHandler); reader->process(); }