Since we're working with unsigned data, you can't apply a signed pointer
cast and then attempt to print the result.  Otherwise you get wrong output
when the sign bit is set like "0xFF" incorrectly extended to "0xFFFFFFFF".
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
                printf("Error with the SPI transaction.\n");
                rcode = 1;
        } else {
-               cp = (char *)din;
                for(j = 0; j < ((bitlen + 7) / 8); j++) {
-                       printf("%02X", *cp++);
+                       printf("%02X", din[j]);
                }
                printf("\n");
        }