From daa62b3737e4b05b75360c3b08d980a52f1303a0 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Fri, 18 Jul 2014 16:22:09 +0200 Subject: [PATCH] Simplified nextSibling() --- JsonParser/JsonToken.cpp | 9 ++++----- JsonParser/JsonToken.h | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/JsonParser/JsonToken.cpp b/JsonParser/JsonToken.cpp index 8d0aac7e..52dac83b 100644 --- a/JsonParser/JsonToken.cpp +++ b/JsonParser/JsonToken.cpp @@ -6,14 +6,13 @@ using namespace ArduinoJson::Internal; JsonToken JsonToken::nextSibling() const { jsmntok_t* t = token; - int yetToVisit = t->size; - + int yetToVisit = 1; + while (yetToVisit) { + yetToVisit += t->size - 1; t++; - yetToVisit--; - yetToVisit += t->size; } - return t + 1; + return t; } \ No newline at end of file diff --git a/JsonParser/JsonToken.h b/JsonParser/JsonToken.h index 5cf2dddd..418d0689 100644 --- a/JsonParser/JsonToken.h +++ b/JsonParser/JsonToken.h @@ -29,7 +29,7 @@ namespace ArduinoJson JsonToken firstChild() const { - return JsonToken(token + 1); + return token + 1; } JsonToken nextSibling() const; @@ -71,7 +71,7 @@ namespace ArduinoJson static JsonToken null() { - return JsonToken(0); + return 0; } private: