6
6
7
7
#include <string.h>
8
8
#include <stdint.h>
9
- #include <stdarg.h>
10
9
#include <inttypes.h>
11
- #include "freertos/FreeRTOS.h"
12
10
#include "sdkconfig.h"
13
11
#include "mdns_private.h"
14
12
#include "mdns_utils.h"
15
13
14
+ #ifdef CONFIG_MDNS_DEBUG_USE_ESP_LOG
15
+
16
+ #include <stdarg.h>
17
+ #include "esp_log.h"
18
+
19
+ #define MDNS_DBG_MAX_LINE CONFIG_MDNS_DEBUG_BUFFER_SIZE
20
+
21
+ static char s_mdns_dbg_buf [MDNS_DBG_MAX_LINE ];
22
+ static size_t s_mdns_dbg_pos = 0 ;
23
+
24
+ static void mdns_dbg_puts (const char * str )
25
+ {
26
+ ESP_LOGI ("mdns" , "%s" , str );
27
+ }
28
+
29
+ static inline void mdns_dbg_flush (void )
30
+ {
31
+ if (s_mdns_dbg_pos > 0 ) {
32
+ s_mdns_dbg_buf [s_mdns_dbg_pos ] = '\0' ;
33
+ mdns_dbg_puts (s_mdns_dbg_buf );
34
+ s_mdns_dbg_pos = 0 ;
35
+ }
36
+ }
37
+
38
+ static void mdns_dbg_printf (const char * fmt , ...)
39
+ {
40
+ va_list ap ;
41
+ va_start (ap , fmt );
42
+ int len = vsnprintf (s_mdns_dbg_buf + s_mdns_dbg_pos , MDNS_DBG_MAX_LINE - s_mdns_dbg_pos , fmt , ap );
43
+ va_end (ap );
44
+
45
+ if (len < 0 ) {
46
+ return ;
47
+ }
48
+
49
+ s_mdns_dbg_pos += len ;
50
+
51
+ if (s_mdns_dbg_pos >= MDNS_DBG_MAX_LINE - 1 ) {
52
+ mdns_dbg_flush ();
53
+ }
54
+ }
55
+
56
+ #define dbg_printf (...) mdns_dbg_printf(__VA_ARGS__)
57
+ #else
16
58
#define dbg_printf (...) printf(__VA_ARGS__)
59
+ #define mdns_dbg_flush ()
60
+ #endif
17
61
18
62
void static dbg_packet (const uint8_t * data , size_t len )
19
63
{
@@ -239,6 +283,7 @@ void static dbg_packet(const uint8_t *data, size_t len)
239
283
}
240
284
}
241
285
}
286
+ mdns_dbg_flush ();
242
287
}
243
288
244
289
void mdns_debug_tx_packet (mdns_tx_packet_t * p , uint8_t packet [MDNS_MAX_PACKET_SIZE ], uint16_t index )
@@ -255,6 +300,7 @@ void mdns_debug_tx_packet(mdns_tx_packet_t *p, uint8_t packet[MDNS_MAX_PACKET_SI
255
300
}
256
301
#endif
257
302
dbg_packet (packet , index );
303
+ mdns_dbg_flush ();
258
304
}
259
305
260
306
void mdns_debug_rx_packet (mdns_rx_packet_t * packet , const uint8_t * data , uint16_t len )
@@ -271,6 +317,7 @@ void mdns_debug_rx_packet(mdns_rx_packet_t *packet, const uint8_t* data, uint16_
271
317
}
272
318
#endif
273
319
dbg_packet (data , len );
320
+ mdns_dbg_flush ();
274
321
}
275
322
276
323
static void dbg_printf_result (mdns_result_t * r_t )
@@ -302,13 +349,15 @@ static void dbg_printf_result(mdns_result_t *r_t)
302
349
#endif
303
350
r_a = r_a -> next ;
304
351
}
352
+ mdns_dbg_flush ();
305
353
}
306
354
307
355
void mdns_debug_printf_browse_result (mdns_result_t * r_t , mdns_browse_t * b_t )
308
356
{
309
357
dbg_printf ("----------------sync browse %s.%s result---------------\n" , b_t -> service , b_t -> proto );
310
358
dbg_printf ("browse pointer: %p\n" , b_t );
311
359
dbg_printf_result (r_t );
360
+ mdns_dbg_flush ();
312
361
}
313
362
314
363
void mdns_debug_printf_browse_result_all (mdns_result_t * r_t )
@@ -319,4 +368,5 @@ void mdns_debug_printf_browse_result_all(mdns_result_t *r_t)
319
368
dbg_printf_result (r_t );
320
369
r_t = r_t -> next ;
321
370
}
371
+ mdns_dbg_flush ();
322
372
}
0 commit comments