diff --git a/PubNubDefs.h b/PubNubDefs.h index 2a62525..cb8237f 100644 --- a/PubNubDefs.h +++ b/PubNubDefs.h @@ -855,7 +855,7 @@ class MessageCracker { switch (c) { case '{': case '[': - d_bracket_level = 0; + d_bracket_level = 1; d_state = in_message; msg.concat(c); break; @@ -873,7 +873,8 @@ class MessageCracker { d_state = done; break; default: - d_state = in_message; + d_bracket_level = 0; + d_state = in_message; msg.concat(c); break; } @@ -912,10 +913,13 @@ class MessageCracker { break; case '}': case ']': - if (--d_bracket_level == 0) { + if (0 == d_bracket_level) { + d_state = done; + } + else if (--d_bracket_level == 0) { d_state = ground_zero; + msg.concat(c); } - msg.concat(c); break; default: msg.concat(c); @@ -1009,7 +1013,7 @@ class SubscribeCracker { int get(String& msg) { msg.remove(0); - while (!finished() && !d_crack.msg_complete(msg)) { + while (!finished() && !message_complete(msg)) { if (!d_psc->wait_for_data()) { break; } diff --git a/library.properties b/library.properties index 976950f..5925121 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Pubnub -version=3.2.0 +version=3.2.1 author=Vladimir Veljkovic maintainer=Vladimir Veljkovic sentence=Pubnub SDK for Arduino.