Skip to content

Commit

Permalink
Fix message crackers (#30)
Browse files Browse the repository at this point in the history
Wasn't handling JSON objects and "solo" numbers correctly.
  • Loading branch information
sveljko authored and vveljko committed Mar 11, 2019
1 parent 37251c9 commit 2c82ad8
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
14 changes: 9 additions & 5 deletions PubNubDefs.h
Expand Up @@ -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;
Expand All @@ -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;
}
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;
}
Expand Down
2 changes: 1 addition & 1 deletion library.properties
@@ -1,5 +1,5 @@
name=Pubnub
version=3.2.0
version=3.2.1
author=Vladimir Veljkovic <vlada@pubnub.com>
maintainer=Vladimir Veljkovic <vlada@pubnub.com>
sentence=Pubnub SDK for Arduino.
Expand Down

0 comments on commit 2c82ad8

Please sign in to comment.