Use nicer formatting for string keys in key_error
authorMikko Rasa <tdb@tdb.fi>
Wed, 25 Apr 2018 10:06:00 +0000 (13:06 +0300)
committerMikko Rasa <tdb@tdb.fi>
Wed, 25 Apr 2018 10:06:00 +0000 (13:06 +0300)
source/core/maputils.cpp

index 28739f05ca86c59a3419e3d1f1f2dfe6c93539b7..cb2f389fe78491dd2cd4c8f49ba339bc4389351e 100644 (file)
@@ -1,5 +1,6 @@
 #include <msp/debug/demangle.h>
 #include <msp/strings/format.h>
+#include <msp/strings/utils.h>
 #include "maputils.h"
 
 using namespace std;
@@ -8,7 +9,10 @@ namespace Msp {
 
 string key_error::make_what(const type_info &type, const string &value)
 {
-       return format("%s(%s)", Debug::demangle(type.name()), value);
+       if(&type==&typeid(string))
+               return format("\"%s\"", c_escape(value));
+       else
+               return format("%s(%s)", Debug::demangle(type.name()), value);
 }
 
 } // namespace Msp