extern INT16 lastfp[];
extern INT16 lastfp[MAXCLIENTS];
HackFloat( cntxtPtr, strmPtr )pexContext *cntxtPtr;checkStdHeader *strmPtr;{extern INT16 lastfp[];    pexEnumTypeIndex fp;    /* This Routine is  a HACK to set the cntxtPtr up for any Requests       that need to SWAP Floats but don't have the fpFormat as part of       the request (ie PEXUpdatePickMeasure). Instead of getting the       fp type from the request it will retrieve it from a global array       which stores, on a per client basis the fpFormat of the last        request that had one.    */    fp = lastfp[cntxtPtr->client->index];    if (cntxtPtr->client->swapped) {	cntxtPtr->pexRequest	    =  cPEXRequest;	cntxtPtr->pexSwapRequestOC  =  cPEXOutputCmd; 	cntxtPtr->pexSwapReply	    =  uPEXReply;	cntxtPtr->pexSwapReplyOC    =  uPEXOutputCmd;	if ( fp == SERVER_NATIVE_FP ) {	    cntxtPtr->swap->ConvertFLOAT =  (ConvFunction)SwapFLOAT;	} else {	    if (fp == PEXDEC_F_Floating)		cntxtPtr->swap->ConvertFLOAT = (ConvFunction)SwapVaxToIEEE;	    else if (fp == PEXIeee_754_32)		cntxtPtr->swap->ConvertFLOAT = (ConvFunction)SwapIEEEToVax;	/* we don't do the other kinds yet */	    else PEX_ERR_EXIT(PEXFloatingPointFormatError,fp,cntxtPtr);	}    } else {	if ( fp  == SERVER_NATIVE_FP ) {	    cntxtPtr->pexRequest	=  PEXRequest;	    cntxtPtr->pexSwapRequestOC	=  0;	    cntxtPtr->pexSwapReply	=  0;	    cntxtPtr->pexSwapReplyOC	=  0;	    cntxtPtr->swap->ConvertFLOAT=  0;	} else {	    cntxtPtr->pexRequest	=  cPEXRequest;	    cntxtPtr->pexSwapRequestOC	=  cPEXOutputCmd; 	    cntxtPtr->pexSwapReply	=  uPEXReply;	    cntxtPtr->pexSwapReplyOC	=  uPEXOutputCmd;	    if (fp == PEXDEC_F_Floating)		cntxtPtr->swap->ConvertFLOAT = (ConvFunction)ConvertVaxToIEEE;	    else if (fp == PEXIeee_754_32)		cntxtPtr->swap->ConvertFLOAT = (ConvFunction)ConvertIEEEToVax;	/* we don't do the other kinds yet */	    else PEX_ERR_EXIT(PEXFloatingPointFormatError,fp,cntxtPtr);	}    };   return(Success);}