Skip to content

Commit

Permalink
Merge pull request #92 from mathieucarbou/dev
Browse files Browse the repository at this point in the history
Fix callback ref not kept when using WSLStringMessageHandler
  • Loading branch information
ayushsharma82 authored Jul 7, 2024
2 parents 206109f + a0463ff commit d9af19b
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 5 deletions.
7 changes: 2 additions & 5 deletions src/WebSerial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,16 +101,13 @@ void WebSerialClass::onMessage(WSLMessageHandler recv) {
}

void WebSerialClass::onMessage(WSLStringMessageHandler callback) {
_recvString = callback;
_recv = [&](uint8_t *data, size_t len) {
if(data && len) {
#ifdef ESP8266
String msg;
msg.reserve(len);
msg.concat((char*)data, len);
callback(msg);
#else
callback(String((char*)data, len));
#endif
_recvString(msg);
}
};
}
Expand Down
1 change: 1 addition & 0 deletions src/WebSerial.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ class WebSerialClass : public Print {
AsyncWebServer *_server;
AsyncWebSocket *_ws;
WSLMessageHandler _recv = nullptr;
WSLStringMessageHandler _recvString = nullptr;
bool _authenticate = false;
String _username;
String _password;
Expand Down

0 comments on commit d9af19b

Please sign in to comment.