Commit 71240517 authored by Jerome Royan's avatar Jerome Royan
Browse files

fixes the bug with negative and exponential numbers in quotation marks

parent e31f975a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -6,7 +6,12 @@ patch -u ../api/TrackablesApi.cpp -i fixCppTrackables.patch
patch -u ../api/WorldAnchorsApi.cpp -i fixCppWorldAnchors.patch
patch -u ../api/WorldLinksApi.cpp -i fixCppWorldLinks.patch
patch -u ../model/Capability.cpp -i fixCppCapabilityModel.patch
patch -u ../model/RelocalizationInformations.cpp -i fixCppRelocalizationInformationsModel.patch
patch -u ../model/RelocObject.cpp -i fixCppRelocObjectModel.patch
patch -u ../model/Trackable.cpp -i fixCppTrackableModel.patch
patch -u ../model/TrackablesResponse.cpp -i fixCppTrackablesResponseModel.patch
patch -u ../model/UuidAndMode.cpp -i fixCppUuidAndModeModel.patch
patch -u ../model/WorldAnchor.cpp -i fixCppWorldAnchorModel.patch
patch -u ../model/WorldAnchorsResponse.cpp -i fixCppWorldAnchorsResponseModel.patch
patch -u ../model/WorldLink.cpp -i fixCppWorldLinkModel.patch
patch -u ../model/WorldLinksResponse.cpp -i fixCppWorldLinksResponseModel.patch
+11 −0
Original line number Diff line number Diff line
--- RelocObject.cpp	2024-09-26 20:00:54.937679755 +0200
+++ RelocObject_corrected.cpp	2024-09-26 19:59:16.044769402 +0200
@@ -46,7 +46,7 @@
 	std::stringstream ss;
 	write_json(ss, this->toPropertyTree(), prettyJson);
     // workaround inspired by: https://stackoverflow.com/a/56395440
-    std::regex reg("\\\"([0-9]+\\.{0,1}[0-9]*)\\\"");
+    std::regex reg("\\\"([-+]?[0-9]+\\.{0,1}[0-9]*)\\\"");
     std::string result = std::regex_replace(ss.str(), reg, "$1");
     return result;
 }
+11 −0
Original line number Diff line number Diff line
--- RelocalizationInformations.cpp	2024-09-26 23:29:18.925379576 +0200
+++ RelocalizationInformations_corrected.cpp	2024-09-26 23:26:54.574579596 +0200
@@ -45,7 +45,7 @@
 	std::stringstream ss;
 	write_json(ss, this->toPropertyTree(), prettyJson);
     // workaround inspired by: https://stackoverflow.com/a/56395440
-    std::regex reg("\\\"([0-9]+\\.{0,1}[0-9]*)\\\"");
+    std::regex reg("\\\"([+-]?[0-9]+\\.{0,1}[0-9]*([eE][-+]?[0-9]+)?)\\\"");
     std::string result = std::regex_replace(ss.str(), reg, "$1");
     return result;
 }
+7 −4
Original line number Diff line number Diff line
--- Trackable.cpp	2024-09-19 16:25:49.067872578 +0200
+++ Trackable_corrected.cpp	2024-09-19 16:18:02.183949340 +0200
@@ -48,6 +48,7 @@
--- Trackable.cpp	2024-09-26 23:29:18.935379613 +0200
+++ Trackable_corrected.cpp	2024-09-26 23:27:10.814691574 +0200
@@ -46,8 +46,9 @@
 	std::stringstream ss;
 	write_json(ss, this->toPropertyTree(), prettyJson);
     // workaround inspired by: https://stackoverflow.com/a/56395440
     std::regex reg("\\\"([0-9]+\\.{0,1}[0-9]*)\\\"");
-    std::regex reg("\\\"([0-9]+\\.{0,1}[0-9]*)\\\"");
+    std::regex reg("\\\"([+-]?[0-9]+\\.{0,1}[0-9]*([eE][-+]?[0-9]+)?)\\\"");
     std::string result = std::regex_replace(ss.str(), reg, "$1");
+    result.erase(std::remove(result.begin(), result.end(), '|'), result.end());
     return result;
+11 −0
Original line number Diff line number Diff line
--- TrackablesResponse.cpp	2024-09-26 23:29:18.935379613 +0200
+++ TrackablesResponse_corrected.cpp	2024-09-26 23:27:27.474796842 +0200
@@ -45,7 +45,7 @@
 	std::stringstream ss;
 	write_json(ss, this->toPropertyTree(), prettyJson);
     // workaround inspired by: https://stackoverflow.com/a/56395440
-    std::regex reg("\\\"([0-9]+\\.{0,1}[0-9]*)\\\"");
+    std::regex reg("\\\"([+-]?[0-9]+\\.{0,1}[0-9]*([eE][-+]?[0-9]+)?)\\\"");
     std::string result = std::regex_replace(ss.str(), reg, "$1");
     return result;
 }
Loading