From e6b46e45035e56285909ecc5edca6652d9251338 Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Mon, 2 Mar 2015 12:23:03 -0600 Subject: [PATCH] stop computing strlen() in CZString --- src/lib_json/json_value.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp index f88ea60..a5d2d74 100644 --- a/src/lib_json/json_value.cpp +++ b/src/lib_json/json_value.cpp @@ -197,8 +197,8 @@ bool Value::CZString::operator<(const CZString& other) const { if (!cstr_) return index_ < other.index_; //return strcmp(cstr_, other.cstr_) < 0; // Assume both are strings. - unsigned this_len = strlen(this->cstr_); - unsigned other_len = strlen(other.cstr_); + unsigned this_len = this->storage_.length_; + unsigned other_len = other.storage_.length_; unsigned min_len = std::min(this_len, other_len); int comp = memcmp(this->cstr_, other.cstr_, min_len); if (comp < 0) return true; @@ -210,8 +210,8 @@ bool Value::CZString::operator==(const CZString& other) const { if (!cstr_) return index_ == other.index_; //return strcmp(cstr_, other.cstr_) == 0; // Assume both are strings. - unsigned this_len = strlen(this->cstr_); - unsigned other_len = strlen(other.cstr_); + unsigned this_len = this->storage_.length_; + unsigned other_len = other.storage_.length_; if (this_len != other_len) return false; int comp = memcmp(this->cstr_, other.cstr_, this_len); return comp == 0;