All pastes #834522 Raw Edit

Something

public text v1 · immutable
#834522 ·published 2007-12-28 07:51 UTC
rendered paste body
char *decode(char *data, size_t len)
{
	unsigned int i, dp;
	unsigned short tmp;
	unsigned char *dest;
	unsigned char *data8;

	data8 = (unsigned char *)data;
	dest = malloc(len);
	if(!dest)
	{
		return NULL;
	}
	
	dp = 0;

	for(i = 0; i < len; i += 2)
	{
		tmp = data8[i] | (data8[i + 1] << 8);
		tmp = (tmp >> 0x1) | ((tmp & 0x1) << 0xf);
		dest[dp++] = (tmp & 0xff00) >> 8;
		dest[dp++] = tmp & 0xff;
	}
	
	return (char *)dest;
}