/*-------------------------------------------------------------------- ** r a w t o h e x ** Oracle emulation ** User-Defined Function to convert varbyte fields to hex. ** ** 2008-08-05 G. Rommel -- initial release **------------------------------------------------------------------*/ #define SQL_TEXT Latin_Text #include #include #define END_STRING 0x00 void rawtohex ( VARBYTE *in_raw, VARCHAR_LATIN *result, char sqlstate[6] ) { int i; BYTE raw_byte; char hd[17] = "0123456789ABCDEF"; VARCHAR_LATIN *res_ptr; if (in_raw->length <= 0) { strcpy(result, ""); strcpy(sqlstate, "00000"); return; } res_ptr = result; for (i=0; i < in_raw->length; i++) { raw_byte = in_raw->bytes[i]; *res_ptr = hd[raw_byte >> 4]; res_ptr++; *res_ptr = hd[raw_byte & 0x0F]; res_ptr++; } *res_ptr = END_STRING; strcpy(sqlstate, "00000"); return; }