int DSSL_MoveServerToMissingKeyList( DSSL_Env* env, DSSL_ServerInfo* si )
{
DSSL_ServerInfo** new_servers = NULL;
int i = ; int ni = ;
int found = ;
_ASSERT( env ); if( env->server_count > )
new_servers = (DSSL_ServerInfo**) malloc( (env->server_count - )*sizeof(*env->servers) ); for(i = , ni = ; i < env->server_count; i++)
{
if(!found && env->servers[i] == si)
{
DSSL_EnvAddMissingKeyServerInfo( env, si );
found = ;
}
else if(new_servers && ni < (env->server_count - ))
{
new_servers[ni] = env->servers[i];
++ni;
}
} if(found)
{
free(env->servers);
env->servers = new_servers;
--env->server_count;
}
else if(new_servers)
{
free(new_servers);
new_servers = NULL;
} return found;
}
from libdssl。