static void unpack(unsigned short *tgt, unsigned char *src, int len)
static void unpack(unsigned short *tgt, unsigned char *src, unsigned int len)
static void unpack(unsigned short *tgt, unsigned char *src, int len){  int x,y,z;  int n,temp;  int buffer[len];  for (x=0;x<len;tgt[x++]=0)    buffer[x]=9+(x&1);  for (x=y=z=0;x<len/*was 38*/;x++) {    n=buffer[y]-z;    temp=src[x];    if (n<8) temp&=255>>(8-n);    tgt[y]+=temp<<z;    if (n<=8) {      tgt[++y]+=src[x]>>n;      z=8-n;    } else z+=8;  }}