Cross Reference:
xref
: /
lxc
/
config
/
init
/
common
/
history.jsp
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
tst_list.c revision 96f3e4ebd4c232776e35ae85a88f25b206e280af
bcb4e51a409d94ae670de96afb8483a4f7855294
Stephan Bosch
#
include
<
stdio.h
>
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
#
include
<
string.h
>
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
#
include
<
lxc
/
lxc_list.h
>
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
int
main
(
int
argc
,
char
*
argv
[])
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
{
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
lxc_list
*
iterator
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
lxc_list
head
=
lxc_init_list
(&
head
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
lxc_list
l1
=
lxc_init_list
(&
l1
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
lxc_list
l2
=
lxc_init_list
(&
l2
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
lxc_list
l3
=
lxc_init_list
(&
l3
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
lxc_list
l4
=
lxc_init_list
(&
l4
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
dummy
{
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
int
a;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
};
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
dummy
*
elem
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
dummy
d1
= { .a =
1
};
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
dummy
d2
= { .a =
2
};
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
dummy
d3
= { .a =
3
};
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
struct
dummy
d4
= { .a =
4
};
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
if
(!
lxc_list_empty
(&
head
)) {
4bed2aacac5ad4bb86ab034cd9adee8a565a4f1b
Timo Sirainen
fprintf
(
stderr
,
"expected empty list\n"
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
return
-
1
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
}
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
l1
.
elem
= &
d1
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
l2
.
elem
= &
d2
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
l3
.
elem
= &
d3
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
l4
.
elem
= &
d4
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_add
(&
head
, &
l1
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_add
(&
head
, &
l2
);
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
lxc_list_add
(&
head
, &
l3
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_add
(&
head
, &
l4
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_for_each
(
iterator
, &
head
) {
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
elem
=
iterator
->
elem
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
printf
(
"elem has %d\n"
,
elem
->a);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
}
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_del
(&
l3
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_for_each
(
iterator
, &
head
) {
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
elem
=
iterator
->
elem
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
printf
(
"elem has %d\n"
,
elem
->a);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
}
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_del
(&
l1
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_del
(&
l2
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
lxc_list_del
(&
l4
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
if
(!
lxc_list_empty
(&
head
)) {
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
fprintf
(
stderr
,
"expected empty list\n"
);
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
return
-
1
;
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
}
ac26a4607cb12b156f6a42f1ead2881bedd43d94
Timo Sirainen
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
lxc_list_for_each
(
iterator
, &
head
) {
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
fprintf
(
stderr
,
"should not loop\n"
);
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
return
-
1
;
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
}
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
return
0;
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen
}
0cfdf8ba03034ffe98abe73c21fdb69e5c0a4509
Timo Sirainen