#
# < . >
#
# < . >
# < . >
# < . >
# < . >
# < . >
# < / . >
int ( * )
{
;
int ;
if ( == )
return ;
= (
sizeof (* ), 1);
if ( == )
return ;
= (&( -> ), 0, );
if ( != 0)
{
( );
return ;
}
-> . = &( -> );
-> . = &( -> );
* = ;
return 0;
}
void ( * )
{
if ( && * )
{
= * ;
struct * ;
struct * ;
( -> );
for ( = -> . ; != &( -> );)
{
= ;
= -> ;
if ( -> )
-> ( -> );
( );
}
( -> );
(&( -> ), );
( );
* = ;
}
}
int ( ,
void * )
{
struct * ;
struct * ;
if ( == )
return ;
= -> . ;
= (
sizeof (* ), 1);
if ( == )
return ;
-> = ;
( -> );
-> = &( -> );
-> = -> . ;
-> = ;
-> . = ;
-> ++;
( -> );
return 0;
}
int ( ,
void * )
{
struct * ;
struct * ;
if ( == )
return ;
= -> . ;
= (
sizeof (* ), 1);
if ( == )
return ;
-> = ;
( -> );
-> = &( -> );
-> = -> . ;
-> = ;
-> . = ;
-> ++;
( -> );
return 0;
}
int ( )
{
= 0;
( , & );
return ( == 0);
}
int ( , * )
{
if ( == )
return ;
if ( == )
return ;
* = -> ;
return 0;
}
( , )
{
;
if ( == )
return ;
= -> ;
-> = ;
return ;
}
static int (
const void * ,
const void * )
{
return != ;
}
int ( ,
void * ,
void ** )
{
struct * , * ;
;
int = ;
if ( == )
return ;
= -> ? -> : ;
( -> );
for ( = &( -> ), = -> . ;
!= &( -> ); = , = -> )
{
if ( ( -> , ) == 0)
{
if ( )
* = -> ;
= 0;
break;
}
}
( -> );
return ;
}
static int ( ,
struct * ,
void * ,
int )
{
struct * = (
sizeof (* ), 1);
if ( == )
return ;
-> = ;
if ( )
{
-> = -> ;
-> = ;
if ( -> != & -> )
-> -> = ;
else -> . = ;
-> = ;
}
else {
-> = -> ;
-> = ;
if ( -> != & -> )
-> -> = ;
else -> . = ;
-> = ;
}
-> ++;
return 0;
}
int ( ,
void * ,
void * ,
int )
{
struct * ;
;
int = ;
if ( == )
return ;
= -> ? -> : ;
( -> );
for ( = -> . ;
!= &( -> );
= -> )
{
if ( ( -> , ) == 0)
{
= ( , , , );
break;
}
}
( -> );
return ;
}
int ( ,
void * )
{
struct * , * ;
;
int = ;
if ( == )
return ;
= -> ? -> : ;
( -> );
for ( = &( -> ), = -> . ;
!= &( -> ); = , = -> )
{
if ( ( -> , ) == 0)
{
( -> , );
-> = -> ;
-> -> = ;
( );
-> --;
= 0;
break;
}
}
( -> );
return ;
}
int ( ,
void * ,
void * )
{
struct * , * ;
;
int = ;
if ( == )
return ;
= -> ? -> : ;
( -> );
for ( = &( -> ), = -> . ;
!= &( -> ); = , = -> )
{
if ( ( -> , ) == 0)
{
-> = ;
= 0;
break;
}
}
( -> );
return ;
}
int ( , ,
void ** )
{
struct * ;
;
int = ;
if ( == )
return ;
if ( == )
return ;
( -> );
for ( = -> . , = 0; != &( -> );
= -> , ++)
{
if ( == )
{
* = -> ;
= 0;
break;
}
}
( -> );
return ;
}
int ( , * ,
void * )
{
;
int = 0;
if ( == || == )
return ;
= ( , & );
if ( )
return ;
for ( ( ); ! ( ); ( ))
{
void * ;
( , & );
if (( = ( , )))
break;
}
(& );
return ;
}
int ( ,
void (* )(
void * ))
{
if ( == )
return ;
-> = ;
return 0;
}
int ( ,
void ** , , * )
{
= 0;
if (! )
return ;
= ( < -> ) ? : -> ;
if ( )
{
;
struct * ;
for ( = 0, = -> . ;
< && != &( -> ); = -> )
[ ++] = -> ;
}
if ( )
* = ;
return 0;
}
/* Iterator interface */ struct {
;
struct * ;
};
static int (
void * )
{
struct * = ;
-> = -> -> . ;
return 0;
}
static int (
void * )
{
struct * = ;
-> = -> -> ;
return 0;
}
static int (
void * ,
void ** ,
const void ** )
{
struct * = ;
* = -> -> ;
if ( )
* = ;
return 0;
}
static int (
void * )
{
struct * = ;
return -> == & -> -> ;
}
static int ( ,
void * )
{
struct * = ;
(& -> -> , );
( );
return 0;
}
static int (
void * ,
void * )
{
struct * = ;
return -> == ;
}
static int (
void ** ,
void * )
{
* = (
sizeof (
struct ));
if (* == )
return ;
(* , ,
sizeof (
struct ));
return 0;
}
int ( , * )
{
;
int ;
struct * ;
if (! )
return ;
= (1,
sizeof * );
if (! )
return ;
-> = ;
-> = ;
= (& , );
if ( )
{
( );
return ;
}
( , );
( , );
( , );
( , );
( , );
( , );
( , );
(& -> , );
* = ;
return 0;
}