Skip to content

Commit e757c62

Browse files
committed
move data csv from pointer to char array
1 parent 483fc71 commit e757c62

File tree

4 files changed

+19
-18
lines changed

4 files changed

+19
-18
lines changed

src/AdafruitIO_Data.cpp

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,18 @@
1414

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

2322
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
2423
memset(_value, 0, AIO_DATA_LENGTH);
24+
memset(_csv, 0, AIO_CSV_LENGTH);
2525
}
2626

2727
AdafruitIO_Data::AdafruitIO_Data(AdafruitIO_Feed *f)
2828
{
29-
_csv = 0;
3029
_lat = 0;
3130
_lon = 0;
3231
_ele = 0;
@@ -35,11 +34,11 @@ AdafruitIO_Data::AdafruitIO_Data(AdafruitIO_Feed *f)
3534
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
3635
strcpy(_feed, f->name);
3736
memset(_value, 0, AIO_DATA_LENGTH);
37+
memset(_csv, 0, AIO_CSV_LENGTH);
3838
}
3939

4040
AdafruitIO_Data::AdafruitIO_Data(AdafruitIO_Feed *f, char *csv)
4141
{
42-
_csv = csv;
4342
_lat = 0;
4443
_lon = 0;
4544
_ele = 0;
@@ -48,13 +47,14 @@ AdafruitIO_Data::AdafruitIO_Data(AdafruitIO_Feed *f, char *csv)
4847
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
4948
strcpy(_feed, f->name);
5049
memset(_value, 0, AIO_DATA_LENGTH);
50+
memset(_csv, 0, AIO_CSV_LENGTH);
51+
strcpy(_csv, csv);
5152

5253
_parseCSV();
5354
}
5455

5556
AdafruitIO_Data::AdafruitIO_Data(const char *f)
5657
{
57-
_csv = 0;
5858
_lat = 0;
5959
_lon = 0;
6060
_ele = 0;
@@ -67,7 +67,6 @@ AdafruitIO_Data::AdafruitIO_Data(const char *f)
6767

6868
AdafruitIO_Data::AdafruitIO_Data(const char *f, char *csv)
6969
{
70-
_csv = csv;
7170
_lat = 0;
7271
_lon = 0;
7372
_ele = 0;
@@ -76,13 +75,16 @@ AdafruitIO_Data::AdafruitIO_Data(const char *f, char *csv)
7675
memset(_feed, 0, AIO_FEED_NAME_LENGTH);
7776
strcpy(_feed, f);
7877
memset(_value, 0, AIO_DATA_LENGTH);
78+
memset(_csv, 0, AIO_CSV_LENGTH);
79+
strcpy(_csv, csv);
7980

8081
_parseCSV();
8182
}
8283

8384
bool AdafruitIO_Data::setCSV(char *csv)
8485
{
85-
_csv = csv;
86+
memset(_csv, 0, AIO_CSV_LENGTH);
87+
strcpy(_csv, csv);
8688
return _parseCSV();
8789
}
8890

@@ -91,7 +93,6 @@ void AdafruitIO_Data::setLocation(double lat, double lon, double ele)
9193
// if lat, lon, ele == 0, don't set them
9294
if((abs(0-lat) < 0.000001) && (abs(0-lon) < 0.000001) && (abs(0-ele) < 0.000001))
9395
return;
94-
9596
_lat = lat;
9697
_lon = lon;
9798
_ele = ele;
@@ -358,20 +359,18 @@ long AdafruitIO_Data::toNeoPixel()
358359

359360
char* AdafruitIO_Data::toCSV()
360361
{
361-
char csv[150];
362-
363362
if(! _value)
364363
return _csv;
365364

366-
strcpy(csv, _value);
367-
strcat(csv, ",");
368-
strcat(csv, charFromDouble(_lat));
369-
strcat(csv, ",");
370-
strcat(csv, charFromDouble(_lon));
371-
strcat(csv, ",");
372-
strcat(csv, charFromDouble(_ele, 2));
365+
memset(_csv, 0, AIO_CSV_LENGTH);
373366

374-
_csv = csv;
367+
strcpy(_csv, _value);
368+
strcat(_csv, ",");
369+
strcat(_csv, charFromDouble(_lat));
370+
strcat(_csv, ",");
371+
strcat(_csv, charFromDouble(_lon));
372+
strcat(_csv, ",");
373+
strcat(_csv, charFromDouble(_ele, 2));
375374

376375
return _csv;
377376
}

src/AdafruitIO_Data.h

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

8181
char _feed[AIO_FEED_NAME_LENGTH];
8282

83-
char *_csv;
83+
char _csv[AIO_CSV_LENGTH];
8484
char _value[AIO_DATA_LENGTH];
8585

8686
double _lat,

src/AdafruitIO_Definitions.h

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

6666
#define AIO_FEED_NAME_LENGTH 20
6767
#define AIO_DATA_LENGTH 45
68+
#define AIO_CSV_LENGTH 150
6869

6970
typedef enum {
7071

src/wifi/AdafruitIO_ESP32.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class AdafruitIO_ESP32 : public AdafruitIO {
3535

3636
const char *_ssid;
3737
const char *_pass;
38+
3839
WiFiClientSecure *_client;
3940

4041
};

0 commit comments

Comments
 (0)