提交 e448ecc6 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #882 from armink/fix_rtservice

[rtservice] Add `rt_list_len` and `rt_slist_len` to rtservice.h .
......@@ -49,19 +49,6 @@
#include <rtthread.h>
#include "finsh.h"
rt_inline unsigned int rt_list_len(const rt_list_t *l)
{
unsigned int len = 0;
const rt_list_t *p = l;
while (p->next != l)
{
p = p->next;
len ++;
}
return len;
}
long hello(void)
{
rt_kprintf("Hello RT-Thread!\n");
......
......@@ -104,6 +104,23 @@ rt_inline int rt_list_isempty(const rt_list_t *l)
return l->next == l;
}
/**
* @brief get the list length
* @param l the list to get.
*/
rt_inline unsigned int rt_list_len(const rt_list_t *l)
{
unsigned int len = 0;
const rt_list_t *p = l;
while (p->next != l)
{
p = p->next;
len ++;
}
return len;
}
/**
* @brief get the struct for this entry
* @param node the entry point
......@@ -177,6 +194,19 @@ rt_inline rt_slist_t *rt_slist_remove(rt_slist_t *l, rt_slist_t *n)
return l;
}
rt_inline unsigned int rt_slist_len(const rt_slist_t *l)
{
unsigned int len = 0;
const rt_slist_t *list = l->next;
while (list != RT_NULL)
{
list = list->next;
len ++;
}
return len;
}
/**
* @brief get the struct for this single list node
* @param node the entry point
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册