diff options
| author | cliff-cmc <[email protected]> | 2021-02-26 11:09:27 +0800 |
|---|---|---|
| committer | Cliff Chen <[email protected]> | 2021-02-26 11:45:19 +0800 |
| commit | eea0c3d74a40f73235da45c6f77e8b411ac94cf2 (patch) | |
| tree | a6906f1aed7118ab53dbe18f2ee4727a754583af /components/net/netdev | |
| parent | 1a9ecf27f31277750d92c921b62503f75275e122 (diff) | |
| parent | fae0fa8eea4c0e797940bf1eddc8ee6c1711734a (diff) | |
Add memtrace command for memheap.c
Diffstat (limited to 'components/net/netdev')
| -rw-r--r-- | components/net/netdev/SConscript | 2 | ||||
| -rw-r--r-- | components/net/netdev/src/netdev.c | 28 |
2 files changed, 23 insertions, 7 deletions
diff --git a/components/net/netdev/SConscript b/components/net/netdev/SConscript index fca31a268b..ec1d2b2905 100644 --- a/components/net/netdev/SConscript +++ b/components/net/netdev/SConscript @@ -8,6 +8,6 @@ src = Glob('src/*.c') CPPPATH = [cwd + '/include'] -group = DefineGroup('netdev', src, depend = ['RT_USING_NETDEV'], CPPPATH = CPPPATH) +group = DefineGroup('SAL', src, depend = ['RT_USING_NETDEV'], CPPPATH = CPPPATH) Return('group') diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index aa43d8d3db..cef11847f9 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -77,8 +77,16 @@ int netdev_register(struct netdev *netdev, const char *name, void *user_data) netdev->status_callback = RT_NULL; netdev->addr_callback = RT_NULL; + if(rt_strlen(name) > RT_NAME_MAX) + { + char netdev_name[RT_NAME_MAX + 1] = {0}; + + rt_strncpy(netdev_name, name, RT_NAME_MAX); + LOG_E("netdev name[%s] length is so long that have been cut into [%s].", name, netdev_name); + } + /* fill network interface device */ - rt_strncpy(netdev->name, name, rt_strlen(name)); + rt_strncpy(netdev->name, name, RT_NAME_MAX); netdev->user_data = user_data; /* initialize current network interface device single list */ @@ -260,7 +268,7 @@ struct netdev *netdev_get_by_name(const char *name) for (node = &(netdev_list->list); node; node = rt_slist_next(node)) { netdev = rt_slist_entry(node, struct netdev, list); - if (netdev && (rt_strncmp(netdev->name, name, rt_strlen(netdev->name)) == 0)) + if (netdev && (rt_strncmp(netdev->name, name, rt_strlen(netdev->name) < RT_NAME_MAX ? rt_strlen(netdev->name) : RT_NAME_MAX) == 0)) { rt_hw_interrupt_enable(level); return netdev; @@ -856,7 +864,7 @@ void netdev_low_level_set_dhcp_status(struct netdev *netdev, rt_bool_t is_enable static void netdev_list_if(void) { #define NETDEV_IFCONFIG_MAC_MAX_LEN 6 -#define NETDEV_IFCONFIG_IEMI_MAX_LEN 8 +#define NETDEV_IFCONFIG_IMEI_MAX_LEN 8 rt_ubase_t index; rt_slist_t *node = RT_NULL; @@ -887,16 +895,22 @@ static void netdev_list_if(void) rt_kprintf("%02x ", netdev->hwaddr[index]); } } - else if (netdev->hwaddr_len == NETDEV_IFCONFIG_IEMI_MAX_LEN) + else if (netdev->hwaddr_len == NETDEV_IFCONFIG_IMEI_MAX_LEN) { rt_kprintf("IMEI: "); for (index = 0; index < netdev->hwaddr_len; index++) { /* two numbers are displayed at one time*/ if (netdev->hwaddr[index] < 10 && index != netdev->hwaddr_len - 1) - rt_kprintf("0"); + { + rt_kprintf("%02d", netdev->hwaddr[index]); + } + else + { + rt_kprintf("%d", netdev->hwaddr[index]); + } + - rt_kprintf("%d", netdev->hwaddr[index]); } } @@ -905,8 +919,10 @@ static void netdev_list_if(void) else rt_kprintf(" DOWN"); if (netdev->flags & NETDEV_FLAG_LINK_UP) rt_kprintf(" LINK_UP"); else rt_kprintf(" LINK_DOWN"); +#ifdef SAL_INTERNET_CHECK if (netdev->flags & NETDEV_FLAG_INTERNET_UP) rt_kprintf(" INTERNET_UP"); else rt_kprintf(" INTERNET_DOWN"); +#endif if (netdev->flags & NETDEV_FLAG_DHCP) rt_kprintf(" DHCP_ENABLE"); else rt_kprintf(" DHCP_DISABLE"); if (netdev->flags & NETDEV_FLAG_ETHARP) rt_kprintf(" ETHARP"); |
