@@ -5200,11 +5200,6 @@ static void _mdns_execute_action(mdns_action_t *action)
5200
5200
action -> data .srv_instance .service -> service -> instance = action -> data .srv_instance .instance ;
5201
5201
_mdns_probe_all_pcbs (& action -> data .srv_instance .service , 1 , false, false);
5202
5202
5203
- break ;
5204
- case ACTION_SERVICE_PORT_SET :
5205
- action -> data .srv_port .service -> service -> port = action -> data .srv_port .port ;
5206
- _mdns_announce_all_pcbs (& action -> data .srv_port .service , 1 , true);
5207
-
5208
5203
break ;
5209
5204
case ACTION_SERVICE_TXT_REPLACE :
5210
5205
service = action -> data .srv_txt_replace .service -> service ;
@@ -6233,40 +6228,30 @@ static mdns_result_t *_mdns_lookup_service(const char *instance, const char *ser
6233
6228
return NULL ;
6234
6229
}
6235
6230
6236
- esp_err_t mdns_service_port_set_for_host (const char * instance , const char * service , const char * proto , const char * hostname , uint16_t port )
6231
+ esp_err_t mdns_service_port_set_for_host (const char * instance , const char * service , const char * proto , const char * host , uint16_t port )
6237
6232
{
6238
6233
MDNS_SERVICE_LOCK ();
6239
- if (! _mdns_server || ! _mdns_server -> services || _str_null_or_empty ( service ) || _str_null_or_empty ( proto ) || ! port ) {
6240
- MDNS_SERVICE_UNLOCK () ;
6241
- return ESP_ERR_INVALID_ARG ;
6242
- }
6234
+ esp_err_t ret = ESP_OK ;
6235
+ const char * hostname = host ? host : _mdns_server -> hostname ;
6236
+ ESP_GOTO_ON_FALSE ( _mdns_server && _mdns_server -> services && ! _str_null_or_empty ( service ) && ! _str_null_or_empty ( proto ) && port ,
6237
+ ESP_ERR_INVALID_ARG , err , TAG , "Invalid state or arguments" );
6243
6238
mdns_srv_item_t * s = _mdns_get_service_item_instance (instance , service , proto , hostname );
6244
- MDNS_SERVICE_UNLOCK ();
6245
- if (!s ) {
6246
- return ESP_ERR_NOT_FOUND ;
6247
- }
6239
+ ESP_GOTO_ON_FALSE (s , ESP_ERR_NOT_FOUND , err , TAG , "Service doesn't exist" );
6248
6240
6249
- mdns_action_t * action = (mdns_action_t * )malloc (sizeof (mdns_action_t ));
6250
- if (!action ) {
6251
- HOOK_MALLOC_FAILED ;
6252
- return ESP_ERR_NO_MEM ;
6253
- }
6254
- action -> type = ACTION_SERVICE_PORT_SET ;
6255
- action -> data .srv_port .service = s ;
6256
- action -> data .srv_port .port = port ;
6257
- if (xQueueSend (_mdns_server -> action_queue , & action , (TickType_t )0 ) != pdPASS ) {
6258
- free (action );
6259
- return ESP_ERR_NO_MEM ;
6260
- }
6261
- return ESP_OK ;
6241
+ s -> service -> port = port ;
6242
+ _mdns_announce_all_pcbs (& s , 1 , true);
6243
+
6244
+ err :
6245
+ MDNS_SERVICE_UNLOCK ();
6246
+ return ret ;
6262
6247
}
6263
6248
6264
6249
esp_err_t mdns_service_port_set (const char * service , const char * proto , uint16_t port )
6265
6250
{
6266
6251
if (!_mdns_server ) {
6267
6252
return ESP_ERR_INVALID_STATE ;
6268
6253
}
6269
- return mdns_service_port_set_for_host (NULL , service , proto , _mdns_server -> hostname , port );
6254
+ return mdns_service_port_set_for_host (NULL , service , proto , NULL , port );
6270
6255
}
6271
6256
6272
6257
esp_err_t mdns_service_txt_set_for_host (const char * instance , const char * service , const char * proto , const char * hostname ,
0 commit comments