upload android base code part8
This commit is contained in:
parent
841ae54672
commit
5425409085
57075 changed files with 9846578 additions and 0 deletions
51
android/toolchain/binutils/binutils-2.25/libiberty/insque.c
Normal file
51
android/toolchain/binutils/binutils-2.25/libiberty/insque.c
Normal file
|
@ -0,0 +1,51 @@
|
|||
/* insque(3C) routines
|
||||
This file is in the public domain. */
|
||||
|
||||
/*
|
||||
|
||||
@deftypefn Supplemental void insque (struct qelem *@var{elem}, @
|
||||
struct qelem *@var{pred})
|
||||
@deftypefnx Supplemental void remque (struct qelem *@var{elem})
|
||||
|
||||
Routines to manipulate queues built from doubly linked lists. The
|
||||
@code{insque} routine inserts @var{elem} in the queue immediately
|
||||
after @var{pred}. The @code{remque} routine removes @var{elem} from
|
||||
its containing queue. These routines expect to be passed pointers to
|
||||
structures which have as their first members a forward pointer and a
|
||||
back pointer, like this prototype (although no prototype is provided):
|
||||
|
||||
@example
|
||||
struct qelem @{
|
||||
struct qelem *q_forw;
|
||||
struct qelem *q_back;
|
||||
char q_data[];
|
||||
@};
|
||||
@end example
|
||||
|
||||
@end deftypefn
|
||||
|
||||
*/
|
||||
|
||||
|
||||
struct qelem {
|
||||
struct qelem *q_forw;
|
||||
struct qelem *q_back;
|
||||
};
|
||||
|
||||
|
||||
void
|
||||
insque (struct qelem *elem, struct qelem *pred)
|
||||
{
|
||||
elem -> q_forw = pred -> q_forw;
|
||||
pred -> q_forw -> q_back = elem;
|
||||
elem -> q_back = pred;
|
||||
pred -> q_forw = elem;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
remque (struct qelem *elem)
|
||||
{
|
||||
elem -> q_forw -> q_back = elem -> q_back;
|
||||
elem -> q_back -> q_forw = elem -> q_forw;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue