From 80cb1f68c83112c4d99893ad2f23bf22abdc4a6d Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Sun, 14 Oct 2018 22:47:22 -0400 Subject: Initial Enhanced Settings System. --- filemetadata.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'filemetadata.cpp') diff --git a/filemetadata.cpp b/filemetadata.cpp index bbde5d72..20fd38a8 100644 --- a/filemetadata.cpp +++ b/filemetadata.cpp @@ -17,7 +17,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. - +#include #include "binaryninjaapi.h" using namespace BinaryNinja; @@ -98,8 +98,9 @@ char* UndoAction::SerializeCallback(void* ctxt) { UndoAction* action = (UndoAction*)ctxt; Value data = action->Serialize(); - FastWriter writer; - string json = writer.write(data); + Json::StreamWriterBuilder builder; + builder["indentation"] = ""; + string json = Json::writeString(builder, data); return BNAllocString(json.c_str()); } catch (exception& e) @@ -140,9 +141,10 @@ bool UndoActionType::DeserializeCallback(void* ctxt, const char* data, BNUndoAct try { UndoActionType* type = (UndoActionType*)ctxt; - Reader reader; + unique_ptr reader(CharReaderBuilder().newCharReader()); Value val; - if (!reader.parse(data, val, false)) + string errors; + if (!reader->parse(data, data + strlen(data), &val, &errors)) { LogError("Invalid JSON while deserializing undo action"); return false; -- cgit v1.3.1