SKIP_STRING (pData, swap);				      SKIP_STRING (pData, swap);
SKIP_STRING (pData, swap, pEnd, BAIL_STRING (iceConn, ICE_ConnectionReply, pStart));		    	      SKIP_STRING (pData, swap, pEnd, BAIL_STRING (iceConn, ICE_ConnectionReply, pStart));
ProcessConnectionReply (iceConn, length, swap, replyWait)IceConn			iceConn;unsigned long	 	length;Bool			swap;IceReplyWaitInfo 	*replyWait;{    iceConnectionReplyMsg 	*message;    char 			*pData, *pStart;    Bool			replyReady;    CHECK_AT_LEAST_SIZE (iceConn, ICE_ConnectionReply,	length, SIZEOF (iceConnectionReplyMsg), IceFatalToConnection);    IceReadCompleteMessage (iceConn, SIZEOF (iceConnectionReplyMsg),	iceConnectionReplyMsg, message, pStart);    if (!IceValidIO (iceConn))    {	IceDisposeCompleteMessage (iceConn, pStart);	return (0);    }    pData = pStart;    SKIP_STRING (pData, swap);				     /* vendor */    SKIP_STRING (pData, swap);				     /* release */    CHECK_COMPLETE_SIZE (iceConn, ICE_ConnectionReply,	length, pData - pStart + SIZEOF (iceConnectionReplyMsg),	pStart, IceFatalToConnection);    pData = pStart;    if (iceConn->connect_to_you)    {	if (iceConn->connect_to_you->auth_active)	{	    /*	     * Tell the authentication procedure to clean up.	     */	    IcePoAuthProc authProc = _IcePoAuthProcs[		iceConn->connect_to_you->my_auth_index];	    (*authProc) (iceConn, &iceConn->connect_to_you->my_auth_state,		True /* clean up */, False /* swap */,	        0, NULL, NULL, NULL, NULL);	}	if ((int) message->versionIndex >= _IceVersionCount)	{	    _IceConnectionError *errorReply =	        &(((_IceReply *) (replyWait->reply))->connection_error);	    char errIndex = message->versionIndex;	    _IceErrorBadValue (iceConn, 0,		ICE_ConnectionReply, 2, 1, &errIndex);	    	    errorReply->type = ICE_CONNECTION_ERROR;	    errorReply->error_message =		"Received bad version index in Connection Reply";	}	else	{	    _IceReply *reply = (_IceReply *) (replyWait->reply);	    reply->type = ICE_CONNECTION_REPLY;	    reply->connection_reply.version_index = message->versionIndex;	    EXTRACT_STRING (pData, swap, reply->connection_reply.vendor);	    EXTRACT_STRING (pData, swap, reply->connection_reply.release);	}	replyReady = True;    }    else    {	/*	 * Unexpected message	 */	_IceErrorBadState (iceConn, 0, ICE_ConnectionReply, IceCanContinue);	replyReady = False;    }    IceDisposeCompleteMessage (iceConn, pStart);    return (replyReady);}