This patch eliminates warnings about differences in signedness in argument passing and assignment between 'char *' and 'unsigned char *' by applying casts where necessary.
