--- apd.c.org 2010-05-11 10:45:29.000000000 +0200 +++ apd.c 2010-05-11 10:47:12.000000000 +0200 @@ -786,7 +786,7 @@ static int hextab_initialized = 0; static char *hexdig = "0123456789abcdef"; -static char *ars_decode_hex(struct ars_packet *pkt, char *s, int *blen) +static unsigned char *ars_decode_hex(struct ars_packet *pkt, char *s, int *blen) { int len = strlen(s), i; unsigned char *d, *saved; @@ -823,7 +823,7 @@ return saved; } -static char *ars_decode_string(struct ars_packet *pkt, char *s, int *blen) +static unsigned char *ars_decode_string(struct ars_packet *pkt, char *s, int *blen) { int l = strlen(s), i; int bl = 0; @@ -875,7 +875,7 @@ return -ARS_OK; return ars_push_data(pkt, layer, buffer, n_read); } else if (strcasecmp(f, "str") == 0) { - char *binary; + unsigned char *binary; int err, blen; binary = ars_decode_string(pkt, v, &blen); @@ -885,7 +885,7 @@ free(binary); return err; } else if (strcasecmp(f, "hex") == 0) { - char *binary; + unsigned char *binary; int err, blen; binary = ars_decode_hex(pkt, v, &blen);