unsigned char * readbin_r(unsigned char ** encoding, int len, int * ii) { unsigned char * bits = malloc(len); int was_set = 0; for (int i = 0; i < len; i++) { bits[i]=!getBit(**encoding, *ii)?'0':'1'; (*ii)--; bitcount++; if (bitcount>7) { *encoding = (*encoding)+0x1; bitcount = 0; was_set = 1; *ii = 7; } } bits[len] = 0; was_set = 0; return bits; }