mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-03-06 13:41:35 +01:00
finally fixing Reader::ParseString()
It was a copy-n-paste error for the last argument of `Key()` and `String()`...
This commit is contained in:
parent
00ac1024ee
commit
f0d9ab4ec9
@ -14,7 +14,7 @@
|
||||
using namespace rapidjson;
|
||||
|
||||
template<typename OutputHandler>
|
||||
struct CapitalizeFilter : public BaseReaderHandler<UTF8<>, OutputHandler> {
|
||||
struct CapitalizeFilter {
|
||||
CapitalizeFilter(OutputHandler& out) : out_(out), buffer_() {}
|
||||
|
||||
bool Null() { return out_.Null(); }
|
||||
@ -31,6 +31,7 @@ struct CapitalizeFilter : public BaseReaderHandler<UTF8<>, OutputHandler> {
|
||||
return out_.String(&buffer_.front(), length, true); // true = output handler need to copy the string
|
||||
}
|
||||
bool StartObject() { return out_.StartObject(); }
|
||||
bool Key(const char* str, SizeType length, bool copy) { return String(str, length, copy); }
|
||||
bool EndObject(SizeType memberCount) { return out_.EndObject(memberCount); }
|
||||
bool StartArray() { return out_.StartArray(); }
|
||||
bool EndArray(SizeType elementCount) { return out_.EndArray(elementCount); }
|
||||
|
@ -630,20 +630,17 @@ private:
|
||||
RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
|
||||
size_t length = s.PutEnd(head) - 1;
|
||||
RAPIDJSON_ASSERT(length <= 0xFFFFFFFF);
|
||||
const typename TargetEncoding::Ch* const str = (const typename TargetEncoding::Ch*)head;
|
||||
const typename TargetEncoding::Ch* const str = (typename TargetEncoding::Ch*)head;
|
||||
success = (isKey ? handler.Key(str, SizeType(length), false) : handler.String(str, SizeType(length), false));
|
||||
}
|
||||
else {
|
||||
StackStream stackStream(stack_);
|
||||
ParseStringToStream<parseFlags, SourceEncoding, TargetEncoding>(s, stackStream);
|
||||
RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
|
||||
success = (isKey
|
||||
? handler.Key( stack_.template Pop<typename TargetEncoding::Ch>(stackStream.length_), stackStream.length_ - 1, false)
|
||||
: handler.String(stack_.template Pop<typename TargetEncoding::Ch>(stackStream.length_), stackStream.length_ - 1, false)
|
||||
);
|
||||
const typename TargetEncoding::Ch* const str = stack_.template Pop<typename TargetEncoding::Ch>(stackStream.length_);
|
||||
success = (isKey ? handler.Key(str, stackStream.length_ - 1, true) : handler.String(str, stackStream.length_ - 1, true));
|
||||
}
|
||||
|
||||
if(!success)
|
||||
if (!success)
|
||||
RAPIDJSON_PARSE_ERROR(kParseErrorTermination, s.Tell());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user