瀏覽代碼

Merge pull request #7 from SummerGGift/optimize_output

【完善】默认关闭 debug 打印信息,同时优化流程以避免不必要的打印信息
朱天龙 (Armink) 6 年之前
父節點
當前提交
d39067b057
共有 2 個文件被更改,包括 13 次插入5 次删除
  1. 1 1
      src/daemon.c
  2. 12 4
      src/lssdp.c

+ 1 - 1
src/daemon.c

@@ -63,7 +63,7 @@ int show_neighbor_list(lssdp_ctx * lssdp) {
 
 int show_interface_list_and_rebind_socket(lssdp_ctx * lssdp) {
     // 1. show interface list
-    rt_kprintf("\nNetwork Interface List (%u):\n", lssdp->interface_num);
+    rt_kprintf("\n LSSDP network interface list (%u):\n", lssdp->interface_num);
     size_t i;
     for (i = 0; i < lssdp->interface_num; i++) {
         rt_kprintf("%u. %-6s: %s\n",

+ 12 - 4
src/lssdp.c

@@ -13,6 +13,7 @@
 #include <netinet/in.h> // struct sockaddr_in, struct ip_mreq, INADDR_ANY, IPPROTO_IP, also include <sys/socket.h>
 #include <arpa/inet.h>  // inet_aton, inet_ntop, inet_addr, also include <netinet/in.h>
 #include <netdev.h>
+#include <rtthread.h>
 #include "lssdp.h"
 
 #ifndef _SIZEOF_ADDR_IFREQ
@@ -21,10 +22,18 @@
 
 /** Definition **/
 #define LSSDP_BUFFER_LEN    512
+
+#if defined(LSSDP_ENABLE_DEBUG_MESSAGES)
 #define lssdp_debug(fmt, agrs...) lssdp_log(LSSDP_LOG_DEBUG, __LINE__, __func__, fmt, ##agrs)
 #define lssdp_info(fmt, agrs...)  lssdp_log(LSSDP_LOG_INFO,  __LINE__, __func__, fmt, ##agrs)
 #define lssdp_warn(fmt, agrs...)  lssdp_log(LSSDP_LOG_WARN,  __LINE__, __func__, fmt, ##agrs)
 #define lssdp_error(fmt, agrs...) lssdp_log(LSSDP_LOG_ERROR, __LINE__, __func__, fmt, ##agrs)
+#else
+#define lssdp_debug(fmt, agrs...)
+#define lssdp_info(fmt, agrs...)
+#define lssdp_warn(fmt, agrs...)
+#define lssdp_error(fmt, agrs...)
+#endif
 
 /** Struct: lssdp_packet **/
 typedef struct lssdp_packet {
@@ -105,13 +114,14 @@ int lssdp_network_interface_update(lssdp_ctx * lssdp) {
     // 2. reset lssdp->interface
     lssdp->interface_num = 0;
     memset(lssdp->interface, 0, SIZE_OF_INTERFACE_LIST);
-    
+
     // 3. get ifconfig
+    rt_thread_mdelay(5000);  // Wait for the default network initialization is successful
     extern struct netdev *netdev_default;
     while(netdev_default == NULL)
     {
-        rt_thread_mdelay(2000);
         lssdp_error("Can't find default net device, please check the network driver.\r\n");
+        rt_thread_mdelay(2000);
     }
 
     if(netdev_default != NULL)
@@ -731,7 +741,6 @@ static int parse_field_line(const char * data, size_t start, size_t end, lssdp_p
         return -1;
     }
 
-
     // 2. get field, field_len
     size_t i = start;
     size_t j = colon - 1;
@@ -741,7 +750,6 @@ static int parse_field_line(const char * data, size_t start, size_t end, lssdp_p
     const char * field = &data[i];
     size_t field_len = j - i + 1;
 
-
     // 3. get value, value_len
     i = colon + 1;
     j = end;