buf+=j;
buf=(char *)buf + j;
static void ssleay_rand_seed(buf,num)const void *buf;int num;	{	int i,j,k,st_idx,st_num;	MD_CTX m;#ifdef NORAND	return;#endif	CRYPTO_w_lock(CRYPTO_LOCK_RAND);	st_idx=state_index;	st_num=state_num;	state_index=(state_index+num);	if (state_index >= STATE_SIZE)		{		state_index%=STATE_SIZE;		state_num=STATE_SIZE;		}	else if (state_num < STATE_SIZE)			{		if (state_index > state_num)			state_num=state_index;		}	CRYPTO_w_unlock(CRYPTO_LOCK_RAND);	for (i=0; i<num; i+=MD_DIGEST_LENGTH)		{		j=(num-i);		j=(j > MD_DIGEST_LENGTH)?MD_DIGEST_LENGTH:j;		MD_Init(&m);		MD_Update(&m,md,MD_DIGEST_LENGTH);		k=(st_idx+j)-STATE_SIZE;		if (k > 0)			{			MD_Update(&m,&(state[st_idx]),j-k);			MD_Update(&m,&(state[0]),k);			}		else			MD_Update(&m,&(state[st_idx]),j);					MD_Update(&m,buf,j);		MD_Update(&m,(unsigned char *)&(md_count[0]),sizeof(md_count));		MD_Final(md,&m);		md_count[1]++;		buf+=j;		for (k=0; k<j; k++)			{			state[st_idx++]^=md[k];			if (st_idx >= STATE_SIZE)				{				st_idx=0;				st_num=STATE_SIZE;				}			}		}	memset((char *)&m,0,sizeof(m));	}