Replace dtostrf() with safer Arduino String constructor call (#2368)
* Replace dtostrf() with safer Arduino String constructor call * Fix code formatting * Replace dtostrf() / atoi() calls with buffer safe local functions * Removed duplicate code * Replace remaining itoa() calls with buffer safe function --------- Co-authored-by: Martin <martin@gerczuk.de>
This commit is contained in:
1 parent
050ba3e827
commit
4e49049b27
2 files changed
+80
-147
No files matched your search
+15
-17
@@ -754,26 +754,23 @@ bool pubMQTT(String topic, String payload) {
|
||||
}
|
||||
|
||||
bool pubMQTT(String topic, int payload) {
|
||||
char val[12];
|
||||
sprintf(val, "%d", payload);
|
||||
return pubMQTT(topic.c_str(), val);
|
||||
return pubMQTT(topic.c_str(), payload);
|
||||
}
|
||||
|
||||
bool pubMQTT(String topic, unsigned long long payload) {
|
||||
char val[21];
|
||||
sprintf(val, "%llu", payload);
|
||||
return pubMQTT(topic.c_str(), val);
|
||||
return pubMQTT(topic.c_str(), payload);
|
||||
}
|
||||
|
||||
bool pubMQTT(String topic, float payload) {
|
||||
char val[12];
|
||||
dtostrf(payload, 3, 1, val);
|
||||
return pubMQTT(topic.c_str(), val);
|
||||
return pubMQTT(topic.c_str(), payload);
|
||||
}
|
||||
|
||||
bool pubMQTT(const char* topic, float payload) {
|
||||
char val[12];
|
||||
dtostrf(payload, 3, 1, val);
|
||||
char val[16];
|
||||
int n = snprintf(val, sizeof(val), "%.1f", payload);
|
||||
if (n < 0 || static_cast<size_t>(n) >= sizeof(val)) {
|
||||
return false;
|
||||
}
|
||||
return pubMQTT(topic, val);
|
||||
}
|
||||
|
||||
@@ -790,21 +787,22 @@ bool pubMQTT(const char* topic, unsigned int payload) {
|
||||
}
|
||||
|
||||
bool pubMQTT(const char* topic, long payload) {
|
||||
char val[11];
|
||||
char val[12];
|
||||
sprintf(val, "%ld", payload);
|
||||
return pubMQTT(topic, val);
|
||||
}
|
||||
|
||||
bool pubMQTT(const char* topic, double payload) {
|
||||
char val[16];
|
||||
sprintf(val, "%f", payload);
|
||||
char val[24];
|
||||
int n = snprintf(val, sizeof(val), "%f", payload);
|
||||
if (n < 0 || static_cast<size_t>(n) >= sizeof(val)) {
|
||||
return false;
|
||||
}
|
||||
return pubMQTT(topic, val);
|
||||
}
|
||||
|
||||
bool pubMQTT(String topic, unsigned long payload) {
|
||||
char val[11];
|
||||
sprintf(val, "%lu", payload);
|
||||
return pubMQTT(topic.c_str(), val);
|
||||
return pubMQTT(topic.c_str(), payload);
|
||||
}
|
||||
|
||||
void delayWithOTA(long waitMillis) {
|
||||
|
||||
Reference in new issue
Block a user