From 193c72daeb3daa13135d7e6d8d4d24c564867044 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 20 Aug 2014 13:38:25 +0100 Subject: [PATCH] Version numbers are kept as strings. Fixes #220. --- src/backend/json.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/json.h b/src/backend/json.h index f8af1965..6a582dec 100644 --- a/src/backend/json.h +++ b/src/backend/json.h @@ -64,9 +64,10 @@ namespace loot { boost::replace_all(json, "\": ~", "\": null"); // Using the definition at . - std::regex numbers("\": \"(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\"", std::regex::ECMAScript); + // Version numbers should be kept as strings though. + std::regex numbers("\"(?!version)(\\w+)\": \"(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\"", std::regex::ECMAScript); - json = std::regex_replace(json, numbers, "\": $1"); + json = std::regex_replace(json, numbers, "\"$1\": $2"); return json; }