From 21fd1834b5ce0a1f5b590f7e1ad23bba64fbafdf Mon Sep 17 00:00:00 2001 From: David Fabro Date: Thu, 10 Jun 2010 15:03:44 +0200 Subject: payload buffer datatypes are consistent The 'data' parameter to nfq_get_payload() returns pointer to unsigned char (rather than signed char) to make it consistent with the 'buf' parameter of nfq_set_verdict(), nfq_set_verdict2(), and nfq_set_verdict_mark(), all of which refer to the same data. Either signed or unsigned is fine, but they should be consistent as the output of nfq_get_payload() may be passed back into nfq_set_verdict*(); in that case, this change eliminates the need for typecasting in the calling code when using compilers that enforce strict typecasting. Signed-off-by: David Favro Signed-off-by: Pablo Neira Ayuso --- include/libnetfilter_queue/libnetfilter_queue.h | 2 +- src/libnetfilter_queue.c | 2 +- utils/nfqnl_test.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/libnetfilter_queue/libnetfilter_queue.h b/include/libnetfilter_queue/libnetfilter_queue.h index 2e2ca8b..53bda74 100644 --- a/include/libnetfilter_queue/libnetfilter_queue.h +++ b/include/libnetfilter_queue/libnetfilter_queue.h @@ -104,7 +104,7 @@ extern int nfq_get_physoutdev_name(struct nlif_handle *nlif_handle, extern struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad); /* return -1 if problem, length otherwise */ -extern int nfq_get_payload(struct nfq_data *nfad, char **data); +extern int nfq_get_payload(struct nfq_data *nfad, unsigned char **data); #ifdef __cplusplus } /* extern "C" */ diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c index 4cc4925..c543055 100644 --- a/src/libnetfilter_queue.c +++ b/src/libnetfilter_queue.c @@ -1003,7 +1003,7 @@ struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad) * * \return -1 on error, otherwise > 0. */ -int nfq_get_payload(struct nfq_data *nfad, char **data) +int nfq_get_payload(struct nfq_data *nfad, unsigned char **data) { *data = nfnl_get_pointer_to_data(nfad->data, NFQA_PAYLOAD, char); if (*data) diff --git a/utils/nfqnl_test.c b/utils/nfqnl_test.c index 036bdab..9eebd9b 100644 --- a/utils/nfqnl_test.c +++ b/utils/nfqnl_test.c @@ -16,7 +16,7 @@ static u_int32_t print_pkt (struct nfq_data *tb) struct nfqnl_msg_packet_hw *hwph; u_int32_t mark,ifi; int ret; - char *data; + unsigned char *data; ph = nfq_get_msg_packet_hdr(tb); if (ph) { -- cgit v1.2.3