changed list_pop to return removed element
This commit is contained in:
parent
558244b488
commit
d2dc732435
@ -43,7 +43,7 @@
|
|||||||
*
|
*
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
* $Id: list.c,v 1.1 2006/06/17 22:41:18 adamdunkels Exp $
|
* $Id: list.c,v 1.2 2008/12/16 09:59:42 joxe Exp $
|
||||||
*/
|
*/
|
||||||
#include "lib/list.h"
|
#include "lib/list.h"
|
||||||
|
|
||||||
@ -202,20 +202,22 @@ list_chop(list_t list)
|
|||||||
* Remove the first object on a list.
|
* Remove the first object on a list.
|
||||||
*
|
*
|
||||||
* This function removes the first object on the list and returns a
|
* This function removes the first object on the list and returns a
|
||||||
* pointer to the list.
|
* pointer to it.
|
||||||
*
|
*
|
||||||
* \param list The list.
|
* \param list The list.
|
||||||
* \return The new head of the list.
|
* \return Pointer to the removed element of list.
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
void *
|
void *
|
||||||
list_pop(list_t list)
|
list_pop(list_t list)
|
||||||
{
|
{
|
||||||
|
struct list *l;
|
||||||
|
l = *list;
|
||||||
if(*list != NULL) {
|
if(*list != NULL) {
|
||||||
*list = ((struct list *)*list)->next;
|
*list = ((struct list *)*list)->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
return *list;
|
return l;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
*
|
*
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
* $Id: ether.c,v 1.13 2008/05/14 19:22:58 adamdunkels Exp $
|
* $Id: ether.c,v 1.14 2008/12/16 09:59:42 joxe Exp $
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* \file
|
* \file
|
||||||
@ -499,8 +499,8 @@ ether_tick(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Remove all packets from the active packets list. */
|
/* Remove all packets from the active packets list. */
|
||||||
for(p = list_head(active_packets); p != NULL; p = list_pop(active_packets)) {
|
while((p = list_pop(active_packets)) != NULL) {
|
||||||
memb_free(&packets, (void *)p);
|
memb_free(&packets, (void *) p);
|
||||||
}
|
}
|
||||||
|
|
||||||
++timer;
|
++timer;
|
||||||
|
Loading…
Reference in New Issue
Block a user