summaryrefslogtreecommitdiff
path: root/libs/libjson/src
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2017-02-01 20:11:44 +0300
committerGeorge Hazan <ghazan@miranda.im>2017-02-01 20:11:44 +0300
commitd2d633a1667ea16c9c88eae9d679c91c545a77ee (patch)
tree54b712a6ce2ebfdf30a83e7705814b69fd498428 /libs/libjson/src
parenta85c40a54d9036c98aed37071500df5926e74028 (diff)
fix for null avatar hash processing
Diffstat (limited to 'libs/libjson/src')
-rw-r--r--libs/libjson/src/internalJSONNode.cpp3
-rw-r--r--libs/libjson/src/internalJSONNode.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/libs/libjson/src/internalJSONNode.cpp b/libs/libjson/src/internalJSONNode.cpp
index 411c12582e..38ca24ff29 100644
--- a/libs/libjson/src/internalJSONNode.cpp
+++ b/libs/libjson/src/internalJSONNode.cpp
@@ -38,7 +38,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
static const json_string CONST_TRUE(JSON_TEXT("true"));
static const json_string CONST_FALSE(JSON_TEXT("false"));
-static const json_string CONST_NULL(JSON_TEXT("null"));
#ifdef JSON_UNIT_TEST
void internalJSONNode::incinternalAllocCount(void){ JSONNode::incinternalAllocCount(); }
@@ -344,7 +343,7 @@ void internalJSONNode::Nullify(bool validation) const {
void internalJSONNode::Nullify(void) const {
#endif
_type = JSON_NULL;
- _string = CONST_NULL;
+ _string.clear();
SetFetched(true);
}
diff --git a/libs/libjson/src/internalJSONNode.h b/libs/libjson/src/internalJSONNode.h
index c77e502543..26e279764e 100644
--- a/libs/libjson/src/internalJSONNode.h
+++ b/libs/libjson/src/internalJSONNode.h
@@ -285,11 +285,15 @@ inline void internalJSONNode::setname(const json_string & newname){
inline json_string internalJSONNode::as_string(void) const {
Fetch();
+ if (_type == JSON_NULL)
+ return json_string();
return _string;
}
inline CMStringW internalJSONNode::as_mstring(void) const {
Fetch();
+ if (_type == JSON_NULL)
+ return CMStringW();
return CMStringW(ptrW(mir_utf8decodeW(_string.c_str())));
}