#endif 
void hostDataXferRestart(PSCCB currSCCB){   ULONG data_count;   UINT  sg_index;#if defined(COMPILER_16_BIT) && !defined(DOS)   ULONG far *sg_ptr;#else   ULONG *sg_ptr;#endif   if (currSCCB->Sccb_XferState & F_SG_XFER) {      currSCCB->Sccb_XferCnt = 0;      sg_index = 0xffff;         /*Index by long words into sg list. */      data_count = 0;            /*Running count of SG xfer counts. */#if defined(COMPILER_16_BIT) && !defined(DOS)      sg_ptr = (ULONG far *)currSCCB->DataPointer;#else      sg_ptr = (ULONG *)currSCCB->DataPointer;#endif      while (data_count < currSCCB->Sccb_ATC) {         sg_index++;         data_count += *(sg_ptr+(sg_index * 2));         }      if (data_count == currSCCB->Sccb_ATC) {         currSCCB->Sccb_SGoffset = 0;         sg_index++;         }      else {         currSCCB->Sccb_SGoffset = data_count - currSCCB->Sccb_ATC;         }      currSCCB->Sccb_sgseg = (USHORT)sg_index;      }   else {      currSCCB->Sccb_XferCnt = currSCCB->DataLength - currSCCB->Sccb_ATC;      }}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/47b5d69c4aa753fcfc9b2b8d28c0660a1e25c129/FlashPoint.c/buggy/drivers/scsi/FlashPoint.c