HRESULT __stdcall vbFormatBytesString( const char* data, int number_of_datas, VARIANT* outstring)
{
#pragma pack(1)
static const OLECHAR __map_table_16[4*256] = { L'0',L'0',L' ',0,L'0',L'1',L' ',0,L'0',L'2',L' ',0,L'0',L'3',L' ',0,L'0',L'4',L' ',0,L'0',L'5',L' ',0,L'0',L'6',L' ',0,L'0',L'7',L' ',0,L'0',L'8',L' ',0,L'0',L'9',L' ',0,L'0',L'A',L' ',0,L'0',L'B',L' ',0,L'0',L'C',L' ',0,L'0',L'D',L' ',0,L'0',L'E',L' ',0,L'0',L'F',L' ',0,L'1',L'0',L' ',0,L'1',L'1',L' ',0,L'1',L'2',L' ',0,L'1',L'3',L' ',0,L'1',L'4',L' ',0,L'1',L'5',L' ',0,L'1',L'6',L' ',0,L'1',L'7',L' ',0,L'1',L'8',L' ',0,L'1',L'9',L' ',0,L'1',L'A',L' ',0,L'1',L'B',L' ',0,L'1',L'C',L' ',0,L'1',L'D',L' ',0,L'1',L'E',L' ',0,L'1',L'F',L' ',0,L'2',L'0',L' ',0,L'2',L'1',L' ',0,L'2',L'2',L' ',0,L'2',L'3',L' ',0,L'2',L'4',L' ',0,L'2',L'5',L' ',0,L'2',L'6',L' ',0,L'2',L'7',L' ',0,L'2',L'8',L' ',0,L'2',L'9',L' ',0,L'2',L'A',L' ',0,L'2',L'B',L' ',0,L'2',L'C',L' ',0,L'2',L'D',L' ',0,L'2',L'E',L' ',0,L'2',L'F',L' ',0,L'3',L'0',L' ',0,L'3',L'1',L' ',0,L'3',L'2',L' ',0,L'3',L'3',L' ',0,L'3',L'4',L' ',0,L'3',L'5',L' ',0,L'3',L'6',L' ',0,L'3',L'7',L' ',0,L'3',L'8',L' ',0,L'3',L'9',L' ',0,L'3',L'A',L' ',0,L'3',L'B',L' ',0,L'3',L'C',L' ',0,L'3',L'D',L' ',0,L'3',L'E',L' ',0,L'3',L'F',L' ',0,L'4',L'0',L' ',0,L'4',L'1',L' ',0,L'4',L'2',L' ',0,L'4',L'3',L' ',0,L'4',L'4',L' ',0,L'4',L'5',L' ',0,L'4',L'6',L' ',0,L'4',L'7',L' ',0,L'4',L'8',L' ',0,L'4',L'9',L' ',0,L'4',L'A',L' ',0,L'4',L'B',L' ',0,L'4',L'C',L' ',0,L'4',L'D',L' ',0,L'4',L'E',L' ',0,L'4',L'F',L' ',0,L'5',L'0',L' ',0,L'5',L'1',L' ',0,L'5',L'2',L' ',0,L'5',L'3',L' ',0,L'5',L'4',L' ',0,L'5',L'5',L' ',0,L'5',L'6',L' ',0,L'5',L'7',L' ',0,L'5',L'8',L' ',0,L'5',L'9',L' ',0,L'5',L'A',L' ',0,L'5',L'B',L' ',0,L'5',L'C',L' ',0,L'5',L'D',L' ',0,L'5',L'E',L' ',0,L'5',L'F',L' ',0,L'6',L'0',L' ',0,L'6',L'1',L' ',0,L'6',L'2',L' ',0,L'6',L'3',L' ',0,L'6',L'4',L' ',0,L'6',L'5',L' ',0,L'6',L'6',L' ',0,L'6',L'7',L' ',0,L'6',L'8',L' ',0,L'6',L'9',L' ',0,L'6',L'A',L' ',0,L'6',L'B',L' ',0,L'6',L'C',L' ',0,L'6',L'D',L' ',0,L'6',L'E',L' ',0,L'6',L'F',L' ',0,L'7',L'0',L' ',0,L'7',L'1',L' ',0,L'7',L'2',L' ',0,L'7',L'3',L' ',0,L'7',L'4',L' ',0,L'7',L'5',L' ',0,L'7',L'6',L' ',0,L'7',L'7',L' ',0,L'7',L'8',L' ',0,L'7',L'9',L' ',0,L'7',L'A',L' ',0,L'7',L'B',L' ',0,L'7',L'C',L' ',0,L'7',L'D',L' ',0,L'7',L'E',L' ',0,L'7',L'F',L' ',0,L'8',L'0',L' ',0,L'8',L'1',L' ',0,L'8',L'2',L' ',0,L'8',L'3',L' ',0,L'8',L'4',L' ',0,L'8',L'5',L' ',0,L'8',L'6',L' ',0,L'8',L'7',L' ',0,L'8',L'8',L' ',0,L'8',L'9',L' ',0,L'8',L'A',L' ',0,L'8',L'B',L' ',0,L'8',L'C',L' ',0,L'8',L'D',L' ',0,L'8',L'E',L' ',0,L'8',L'F',L' ',0,L'9',L'0',L' ',0,L'9',L'1',L' ',0,L'9',L'2',L' ',0,L'9',L'3',L' ',0,L'9',L'4',L' ',0,L'9',L'5',L' ',0,L'9',L'6',L' ',0,L'9',L'7',L' ',0,L'9',L'8',L' ',0,L'9',L'9',L' ',0,L'9',L'A',L' ',0,L'9',L'B',L' ',0,L'9',L'C',L' ',0,L'9',L'D',L' ',0,L'9',L'E',L' ',0,L'9',L'F',L' ',0,L'A',L'0',L' ',0,L'A',L'1',L' ',0,L'A',L'2',L' ',0,L'A',L'3',L' ',0,L'A',L'4',L' ',0,L'A',L'5',L' ',0,L'A',L'6',L' ',0,L'A',L'7',L' ',0,L'A',L'8',L' ',0,L'A',L'9',L' ',0,L'A',L'A',L' ',0,L'A',L'B',L' ',0,L'A',L'C',L' ',0,L'A',L'D',L' ',0,L'A',L'E',L' ',0,L'A',L'F',L' ',0,L'B',L'0',L' ',0,L'B',L'1',L' ',0,L'B',L'2',L' ',0,L'B',L'3',L' ',0,L'B',L'4',L' ',0,L'B',L'5',L' ',0,L'B',L'6',L' ',0,L'B',L'7',L' ',0,L'B',L'8',L' ',0,L'B',L'9',L' ',0,L'B',L'A',L' ',0,L'B',L'B',L' ',0,L'B',L'C',L' ',0,L'B',L'D',L' ',0,L'B',L'E',L' ',0,L'B',L'F',L' ',0,L'C',L'0',L' ',0,L'C',L'1',L' ',0,L'C',L'2',L' ',0,L'C',L'3',L' ',0,L'C',L'4',L' ',0,L'C',L'5',L' ',0,L'C',L'6',L' ',0,L'C',L'7',L' ',0,L'C',L'8',L' ',0,L'C',L'9',L' ',0,L'C',L'A',L' ',0,L'C',L'B',L' ',0,L'C',L'C',L' ',0,L'C',L'D',L' ',0,L'C',L'E',L' ',0,L'C',L'F',L' ',0,L'D',L'0',L' ',0,L'D',L'1',L' ',0,L'D',L'2',L' ',0,L'D',L'3',L' ',0,L'D',L'4',L' ',0,L'D',L'5',L' ',0,L'D',L'6',L' ',0,L'D',L'7',L' ',0,L'D',L'8',L' ',0,L'D',L'9',L' ',0,L'D',L'A',L' ',0,L'D',L'B',L' ',0,L'D',L'C',L' ',0,L'D',L'D',L' ',0,L'D',L'E',L' ',0,L'D',L'F',L' ',0,L'E',L'0',L' ',0,L'E',L'1',L' ',0,L'E',L'2',L' ',0,L'E',L'3',L' ',0,L'E',L'4',L' ',0,L'E',L'5',L' ',0,L'E',L'6',L' ',0,L'E',L'7',L' ',0,L'E',L'8',L' ',0,L'E',L'9',L' ',0,L'E',L'A',L' ',0,L'E',L'B',L' ',0,L'E',L'C',L' ',0,L'E',L'D',L' ',0,L'E',L'E',L' ',0,L'E',L'F',L' ',0,L'F',L'0',L' ',0,L'F',L'1',L' ',0,L'F',L'2',L' ',0,L'F',L'3',L' ',0,L'F',L'4',L' ',0,L'F',L'5',L' ',0,L'F',L'6',L' ',0,L'F',L'7',L' ',0,L'F',L'8',L' ',0,L'F',L'9',L' ',0,L'F',L'A',L' ',0,L'F',L'B',L' ',0,L'F',L'C',L' ',0,L'F',L'D',L' ',0,L'F',L'E',L' ',0,L'F',L'F',L' ',0 } ;
static const __int64* map_table_64 = (__int64*)__map_table_16;
#pragma pack()
int i;
OLECHAR* intptr;
if ( outstring == NULL )
return E_POINTER;
VariantClear( outstring);
outstring->vt = VT_BSTR;
outstring->bstrVal = SysAllocStringLen( (const OLECHAR*)NULL, number_of_datas * 3);
intptr = (OLECHAR*)outstring->bstrVal;
for ( i = 0 ; i < number_of_datas; ++ i)
{
*((__int64*)intptr) = map_table_64[ data[i] & 0xff ];
intptr += 3;
}
return S_OK;
}