/*================================================================================= =================================================================================*/ PRIVATE PRBool uCheckAndScanByTable( uShiftTable *shift, PRInt32* state, unsigned char *in, PRUint16 *out, PRUint32 inbuflen, PRUint32* inscanlen ) { PRInt16 i; const uShiftCell* cell = &(shift->shiftcell[0]); PRInt16 itemnum = shift->numOfItem; for(i=0;i<itemnum;i++) { if( ( in[0] >= cell[i].shiftin_Min) && ( in[0] <= cell[i].shiftin_Max)) { if(inbuflen < cell[i].reserveLen) return PR_FALSE; else { *inscanlen = cell[i].reserveLen; return (uSubScanner(cell[i].classID,in,out)); } } } return PR_FALSE; }
/*================================================================================= =================================================================================*/ int uScanShift( uShiftInTable *shift, int32_t* state, unsigned char *in, uint16_t *out, uint32_t inbuflen, uint32_t* inscanlen ) { int16_t i; const uShiftInCell* cell = &(shift->shiftcell[0]); int16_t itemnum = shift->numOfItem; for(i=0;i<itemnum;i++) { if( ( in[0] >= cell[i].shiftin_Min) && ( in[0] <= cell[i].shiftin_Max)) { if(inbuflen < cell[i].reserveLen) return 0; else { *inscanlen = cell[i].reserveLen; return (uSubScanner(cell[i].classID,in,out)); } } } return 0; }