Cli: Fix NetString::ReadStringFromStream() usage

refs #6109
This commit is contained in:
Michael Friedrich 2015-02-15 14:42:53 +01:00
parent 2036b87943
commit f201886865
2 changed files with 25 additions and 3 deletions

View File

@ -244,10 +244,18 @@ static void CheckObjectFile(const String& objectfile, std::ostream& os)
StdioStream::Ptr sfp = new StdioStream(&fp, false);
int typeL = 0, countTotal = 0;
String message;
StreamReadContext src;
for (;;) {
StreamReadStatus srs = NetString::ReadStringFromStream(sfp, &message, src);
if (srs == StatusEof)
break;
if (srs != StatusNewItem)
continue;
while (NetString::ReadStringFromStream(sfp, &message, src) == StatusNewItem) {
Dictionary::Ptr object = JsonDecode(message);
Dictionary::Ptr properties = object->Get("properties");

View File

@ -40,8 +40,15 @@ Value VariableUtility::GetVariable(const String& name)
String message;
StreamReadContext src;
for (;;) {
StreamReadStatus srs = NetString::ReadStringFromStream(sfp, &message, src);
if (srs == StatusEof)
break;
if (srs != StatusNewItem)
continue;
while (NetString::ReadStringFromStream(sfp, &message, src) == StatusNewItem) {
Dictionary::Ptr variable = JsonDecode(message);
if (variable->Get("name") == name) {
@ -64,8 +71,15 @@ void VariableUtility::PrintVariables(std::ostream& outfp)
String message;
StreamReadContext src;
for (;;) {
StreamReadStatus srs = NetString::ReadStringFromStream(sfp, &message, src);
if (srs == StatusEof)
break;
if (srs != StatusNewItem)
continue;
while (NetString::ReadStringFromStream(sfp, &message, src) == StatusNewItem) {
Dictionary::Ptr variable = JsonDecode(message);
outfp << variable->Get("name") << " = " << variable->Get("value") << "\n";
variables_count++;