@@ -111,7 +111,7 @@ MDNSTxt::~MDNSTxt(){
111
111
112
112
MDNSAnswer::MDNSAnswer () :
113
113
txts(nullptr ),
114
- ip({ 0 , 0 , 0 , 0 }),
114
+ ip(), // NOTE: should value-initialize to 0
115
115
port(0 ),
116
116
hostname(nullptr )
117
117
{}
@@ -147,7 +147,7 @@ int MDNSAnswer::numTxt(){
147
147
return numTxt;
148
148
}
149
149
150
- bool MDNSAnswer::hasTxt (char * key){
150
+ bool MDNSAnswer::hasTxt (const char * key){
151
151
MDNSTxt *txt = txts;
152
152
while (txt != nullptr ){
153
153
if (txt->_txt .startsWith (String (key)+' =' )){
@@ -158,7 +158,7 @@ bool MDNSAnswer::hasTxt(char * key){
158
158
return false ;
159
159
}
160
160
161
- String MDNSAnswer::getTxt (char * key){
161
+ String MDNSAnswer::getTxt (const char * key){
162
162
MDNSTxt *txt = txts;
163
163
String cmp = String (key)+' =' ;
164
164
while (txt != nullptr ){
@@ -441,7 +441,11 @@ int MDNSResponder::queryService(char *service, char *proto) {
441
441
};
442
442
_conn->append (reinterpret_cast <const char *>(ptrAttrs), 4 );
443
443
_waitingForAnswers = true ;
444
- _conn->send ();
444
+ if (!_conn->send ()){
445
+ #ifdef MDNS_DEBUG_ERR
446
+ Serial.println (" ERROR: Query send failed!" );
447
+ #endif
448
+ }
445
449
446
450
#ifdef MDNS_DEBUG_TX
447
451
Serial.println (" Waiting for answers.." );
@@ -485,15 +489,15 @@ int MDNSResponder::numTxt(int idx) {
485
489
return answer->numTxt ();
486
490
}
487
491
488
- bool MDNSResponder::hasTxt (int idx, char * key) {
492
+ bool MDNSResponder::hasTxt (int idx, const char * key) {
489
493
MDNSAnswer *answer = _getAnswerFromIdx (idx);
490
494
if (answer == nullptr ) {
491
495
return false ;
492
496
}
493
497
return answer->hasTxt (key);
494
498
}
495
499
496
- String MDNSResponder::txt (int idx, char * key) {
500
+ String MDNSResponder::txt (int idx, const char * key) {
497
501
MDNSAnswer *answer = _getAnswerFromIdx (idx);
498
502
if (answer == nullptr ) {
499
503
return String ();
@@ -506,7 +510,7 @@ String MDNSResponder::txt(int idx, int txtIdx) {
506
510
if (answer == nullptr ) {
507
511
return String ();
508
512
}
509
- answer->getTxtString (txtIdx);
513
+ return answer->getTxtString (txtIdx);
510
514
}
511
515
512
516
MDNSAnswer* MDNSResponder::getAnswer (int idx) {
@@ -1243,7 +1247,11 @@ void MDNSResponder::_reply(uint8_t replyMask, char * service, char *proto, uint1
1243
1247
ip_addr_t ifaddr;
1244
1248
ifaddr.addr = ip;
1245
1249
_conn->setMulticastInterface (ifaddr);
1246
- _conn->send ();
1250
+ if (!_conn->send ()){
1251
+ #ifdef MDNS_DEBUG_ERR
1252
+ Serial.println (" ERROR: Reply send failed!" );
1253
+ #endif
1254
+ }
1247
1255
}
1248
1256
1249
1257
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_MDNS)
0 commit comments