if (secret && id == nsSSLIOLayerIdentity)
if (infoObject && id == nsSSLIOLayerIdentity)
nsSSLIOLayerRead( PRFileDesc *fd, void *buf, PRInt32 amount){    if (!fd)        return PR_FAILURE;    PRInt32 result = PR_Recv(fd, buf, amount, 0, PR_INTERVAL_MIN);        if (result > 0)        return result;        if (result == -1)    {        PRErrorCode code = PR_GetError();        if (code == PR_IO_TIMEOUT_ERROR )            PR_SetError(PR_WOULD_BLOCK_ERROR, PR_WOULD_BLOCK_ERROR);        return PR_FAILURE;    }        if (result == 0)    {        nsSSLIOLayerSecretData *secret = (nsSSLIOLayerSecretData *)fd->secret;        PRDescIdentity          id     = PR_GetLayersIdentity(fd);        if (secret && id == nsSSLIOLayerIdentity)        {            CMInt32 errorCode = PR_FAILURE;            CMT_GetSSLDataErrorCode(secret->control, secret->cmsock, &errorCode);			if (errorCode == PR_IO_TIMEOUT_ERROR)			{				PR_SetError(PR_WOULD_BLOCK_ERROR, PR_WOULD_BLOCK_ERROR);				return PR_FAILURE;			}            PR_SetError(0, 0);            return errorCode;        }    }    return result;}