Skip to content

Commit 4855f22

Browse files
committed
fix bug in group subs related to undefined feed listeners
1 parent cb417a4 commit 4855f22

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

src/AdafruitIO_Data.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,63 +14,67 @@
1414

1515
AdafruitIO_Data::AdafruitIO_Data()
1616
{
17-
_feed = 0;
1817
_csv = 0;
1918
_lat = 0;
2019
_lon = 0;
2120
_ele = 0;
2221
next_data = 0;
2322

23+
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
2424
memset(_value, 0, AIO_DATA_LENGTH);
2525
}
2626

2727
AdafruitIO_Data::AdafruitIO_Data(AdafruitIO_Feed *f)
2828
{
29-
_feed = f->name;
3029
_csv = 0;
3130
_lat = 0;
3231
_lon = 0;
3332
_ele = 0;
3433
next_data = 0;
3534

35+
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
36+
strcpy(_feed, f->name);
3637
memset(_value, 0, AIO_DATA_LENGTH);
3738
}
3839

3940
AdafruitIO_Data::AdafruitIO_Data(AdafruitIO_Feed *f, char *csv)
4041
{
41-
_feed = f->name;
4242
_csv = csv;
4343
_lat = 0;
4444
_lon = 0;
4545
_ele = 0;
4646
next_data = 0;
4747

48+
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
49+
strcpy(_feed, f->name);
4850
memset(_value, 0, AIO_DATA_LENGTH);
4951

5052
_parseCSV();
5153
}
5254

5355
AdafruitIO_Data::AdafruitIO_Data(const char *f)
5456
{
55-
_feed = f;
5657
_csv = 0;
5758
_lat = 0;
5859
_lon = 0;
5960
_ele = 0;
6061
next_data = 0;
6162

63+
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
64+
strcpy(_feed, f);
6265
memset(_value, 0, AIO_DATA_LENGTH);
6366
}
6467

6568
AdafruitIO_Data::AdafruitIO_Data(const char *f, char *csv)
6669
{
67-
_feed = f;
6870
_csv = csv;
6971
_lat = 0;
7072
_lon = 0;
7173
_ele = 0;
7274
next_data = 0;
7375

76+
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
77+
strcpy(_feed, f);
7478
memset(_value, 0, AIO_DATA_LENGTH);
7579

7680
_parseCSV();
@@ -192,7 +196,7 @@ char* AdafruitIO_Data::feedName()
192196
if(! _feed)
193197
return (char*)"";
194198

195-
return (char *)_feed;
199+
return _feed;
196200
}
197201

198202
char* AdafruitIO_Data::value()

src/AdafruitIO_Data.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class AdafruitIO_Data {
7373

7474
private:
7575

76-
const char *_feed;
76+
char _feed[AIO_FEED_NAME_LENGTH];
7777

7878
char *_csv;
7979
char _value[AIO_DATA_LENGTH];

src/AdafruitIO_Definitions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class AdafruitIOGroupCallback {
6363

6464
#define AIO_SSL_FINGERPRINT "26 96 1C 2A 51 07 FD 15 80 96 93 AE F7 32 CE B9 0D 01 55 C4"
6565

66+
#define AIO_FEED_NAME_LENGTH 20
6667
#define AIO_DATA_LENGTH 45
6768

6869
typedef enum {

0 commit comments

Comments
 (0)