From 27d96d72427edde8c6f66b1407866ff5e6752001 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Fri, 19 Jun 2015 12:39:17 +0100 Subject: [PATCH] Never treat revisions as numbers in JSON. As it leads to invalid output. Fixes #454. --- src/backend/helpers/json.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/helpers/json.h b/src/backend/helpers/json.h index 50a02fa3..dfb13131 100644 --- a/src/backend/helpers/json.h +++ b/src/backend/helpers/json.h @@ -62,8 +62,8 @@ namespace loot { boost::replace_all(json, "\": ~", "\": null"); // Using the definition at . - // Version numbers should be kept as strings though. - boost::regex numbers("\"(?!version)([^\"]+)\": \"(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\"", boost::regex::ECMAScript); + // Version numbers and revision IDs should be kept as strings though. + boost::regex numbers("\"(?!version|revision)([^\"]+)\": \"(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\"", boost::regex::ECMAScript); json = boost::regex_replace(json, numbers, "\"$1\": $2");