Skip to content

Commit

Permalink
Fix incorrect F-strings
Browse files Browse the repository at this point in the history
A merge issue with end-oappend: some strings did not get correctly
converted from SET_F() to F(), which can cause crashes.
  • Loading branch information
willmmiles committed Sep 28, 2024
1 parent 8180f2c commit 9a4b56d
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions wled00/xml.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,14 +91,14 @@ void appendGPIOinfo(Print& settingsScript) {
settingsScript.print(F("];"));

// add reserved (unusable) pins
settingsScript.print(SET_F("d.rsvd=["));
settingsScript.print(F("d.rsvd=["));
for (unsigned i = 0; i < WLED_NUM_PINS; i++) {
if (!PinManager::isPinOk(i, false)) { // include readonly pins
settingsScript.print(i); settingsScript.print(",");
}
}
#ifdef WLED_ENABLE_DMX
settingsScript.print(SET_F("2,")); // DMX hardcoded pin
settingsScript.print(F("2,")); // DMX hardcoded pin
#endif
#if defined(WLED_DEBUG) && !defined(WLED_DEBUG_HOST)
settingsScript.printf_P(PSTR(",%d"),hardwareTX); // debug output (TX) pin
Expand All @@ -113,36 +113,36 @@ void appendGPIOinfo(Print& settingsScript) {
switch (ethernetBoards[ethernetType].eth_clk_mode) {
case ETH_CLOCK_GPIO0_IN:
case ETH_CLOCK_GPIO0_OUT:
settingsScript.print(SET_F("0"));
settingsScript.print(F("0"));
break;
case ETH_CLOCK_GPIO16_OUT:
settingsScript.print(SET_F("16"));
settingsScript.print(F("16"));
break;
case ETH_CLOCK_GPIO17_OUT:
settingsScript.print(SET_F("17"));
settingsScript.print(F("17"));
break;
}
}
#endif
settingsScript.print(SET_F("];")); // rsvd
settingsScript.print(F("];")); // rsvd

// add info for read-only GPIO
settingsScript.print(SET_F("d.ro_gpio=["));
settingsScript.print(F("d.ro_gpio=["));
bool firstPin = true;
for (unsigned i = 0; i < WLED_NUM_PINS; i++) {
if (PinManager::isReadOnlyPin(i)) {
// No comma before the first pin
if (!firstPin) settingsScript.print(SET_F(","));
if (!firstPin) settingsScript.print(F(","));
settingsScript.print(i);
firstPin = false;
}
}
settingsScript.print(SET_F("];"));
settingsScript.print(F("];"));

// add info about max. # of pins
settingsScript.print(SET_F("d.max_gpio="));
settingsScript.print(F("d.max_gpio="));
settingsScript.print(WLED_NUM_PINS);
settingsScript.print(SET_F(";"));
settingsScript.print(F(";"));
}

//get values for settings form in javascript
Expand Down Expand Up @@ -263,7 +263,7 @@ void getSettingsJS(byte subPage, Print& settingsScript)

appendGPIOinfo(settingsScript);

settingsScript.print(SET_F("d.ledTypes=")); settingsScript.print(BusManager::getLEDTypesJSONString().c_str()); settingsScript.print(";");
settingsScript.print(F("d.ledTypes=")); settingsScript.print(BusManager::getLEDTypesJSONString().c_str()); settingsScript.print(";");

// set limits
settingsScript.printf_P(PSTR("bLimits(%d,%d,%d,%d,%d,%d,%d,%d);"),
Expand Down Expand Up @@ -501,7 +501,7 @@ void getSettingsJS(byte subPage, Print& settingsScript)
#endif
printSetFormValue(settingsScript,PSTR("BD"),serialBaud);
#ifndef WLED_ENABLE_ADALIGHT
settingsScript.print(SET_F("toggle('Serial);"));
settingsScript.print(F("toggle('Serial);"));
#endif
}

Expand Down

0 comments on commit 9a4b56d

Please sign in to comment.