From: Jonathan McDowell Date: Sat, 23 Apr 2011 22:45:16 +0000 (+0100) Subject: Change to using void * for character function content parameter X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/f3143629476bae20f5310bbc0a59fe735b5d245d?ds=inline Change to using void * for character function content parameter We were passing unsigned char * as the parameter to all of the character fetching/putting functions. Use void * instead so that we can pass other types of data without needlessly having to cast. --- diff --git a/armor.c b/armor.c index a192f77..397118c 100644 --- a/armor.c +++ b/armor.c @@ -77,7 +77,7 @@ struct armor_context { int curoctet; int count; long crc24; - int (*putchar_func)(void *ctx, size_t count, unsigned char *c); + int (*putchar_func)(void *ctx, size_t count, void *c); void *ctx; }; @@ -184,14 +184,14 @@ static int armor_putchar_int(void *ctx, unsigned char c) } -static int armor_putchar(void *ctx, size_t count, unsigned char *c) +static int armor_putchar(void *ctx, size_t count, void *c) { int i; log_assert(c != NULL); for (i = 0; i < count; i++) { - armor_putchar_int(ctx, c[i]); + armor_putchar_int(ctx, ((char *) c)[i]); } return 0; @@ -210,7 +210,7 @@ struct dearmor_context { int curoctet; int count; long crc24; - int (*getchar_func)(void *ctx, size_t count, unsigned char *c); + int (*getchar_func)(void *ctx, size_t count, void *c); void *ctx; }; @@ -291,12 +291,12 @@ static int dearmor_getchar(void *ctx, unsigned char *c) return (tmpc == 64); } -static int dearmor_getchar_c(void *ctx, size_t count, unsigned char *c) +static int dearmor_getchar_c(void *ctx, size_t count, void *c) { int i, rc = 0; for (i = 0; i < count && rc == 0; i++) { - rc = dearmor_getchar(ctx, &c[i]); + rc = dearmor_getchar(ctx, &((unsigned char *) c)[i]); } return rc; @@ -312,7 +312,7 @@ static int dearmor_getchar_c(void *ctx, size_t count, unsigned char *c) * using putchar_func. */ int armor_openpgp_stream(int (*putchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list *packets) { @@ -352,7 +352,7 @@ int armor_openpgp_stream(int (*putchar_func)(void *ctx, size_t count, * packets. */ int dearmor_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list **packets) { diff --git a/armor.h b/armor.h index 85ac6a6..8f5dc35 100644 --- a/armor.h +++ b/armor.h @@ -21,7 +21,7 @@ * using putchar_func. */ int armor_openpgp_stream(int (*putchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list *packets); @@ -36,7 +36,7 @@ int armor_openpgp_stream(int (*putchar_func)(void *ctx, size_t count, * packets. */ int dearmor_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list **packets); diff --git a/charfuncs.c b/charfuncs.c index 778df1c..fea0a99 100644 --- a/charfuncs.c +++ b/charfuncs.c @@ -20,7 +20,7 @@ * @count: The number of characters to get from the buffer. * @c: Where to put the characters retrieved. */ -int buffer_fetchchar(void *ctx, size_t count, unsigned char *c) +int buffer_fetchchar(void *ctx, size_t count, void *c) { struct buffer_ctx *buf = NULL; @@ -42,7 +42,7 @@ int buffer_fetchchar(void *ctx, size_t count, unsigned char *c) * fill it then we double the size of the current buffer and then add the * rest. */ -int buffer_putchar(void *ctx, size_t count, unsigned char *c) +int buffer_putchar(void *ctx, size_t count, void *c) { struct buffer_ctx *buf = NULL; size_t newsize = 0; @@ -66,7 +66,7 @@ int buffer_putchar(void *ctx, size_t count, unsigned char *c) /** * file_fetchchar - Fetches a char from a file. */ -int file_fetchchar(void *fd, size_t count, unsigned char *c) +int file_fetchchar(void *fd, size_t count, void *c) { return !(read( *(int *) fd, c, count)); } @@ -74,7 +74,7 @@ int file_fetchchar(void *fd, size_t count, unsigned char *c) /** * file_putchar - Puts a char to a file. */ -int file_putchar(void *fd, size_t count, unsigned char *c) +int file_putchar(void *fd, size_t count, void *c) { return !(write( *(int *) fd, c, count)); } @@ -82,7 +82,7 @@ int file_putchar(void *fd, size_t count, unsigned char *c) /** * stdin_getchar - Gets a char from stdin. */ -int stdin_getchar(void *ctx, size_t count, unsigned char *c) +int stdin_getchar(void *ctx, size_t count, void *c) { return (fread(c, 1, count, stdin) != count); } @@ -90,7 +90,7 @@ int stdin_getchar(void *ctx, size_t count, unsigned char *c) /** * stdout_putchar - Puts a char to stdout. */ -int stdout_putchar(void *ctx, size_t count, unsigned char *c) +int stdout_putchar(void *ctx, size_t count, void *c) { return (fwrite(c, 1, count, stdout) != count); } diff --git a/charfuncs.h b/charfuncs.h index ad460e4..b09edf3 100644 --- a/charfuncs.h +++ b/charfuncs.h @@ -29,7 +29,7 @@ struct buffer_ctx { * @count: The number of characters to get from the buffer. * @c: Where to put the characters retrieved. */ -int buffer_fetchchar(void *ctx, size_t count, unsigned char *c); +int buffer_fetchchar(void *ctx, size_t count, void *c); /** * buffer_putchar - Puts a char to a buffer. @@ -41,26 +41,26 @@ int buffer_fetchchar(void *ctx, size_t count, unsigned char *c); * fill it then we double the size of the current buffer and then add the * rest. */ -int buffer_putchar(void *ctx, size_t count, unsigned char *c); +int buffer_putchar(void *ctx, size_t count, void *c); /** * file_fetchchar - Fetches a char from a file. */ -int file_fetchchar(void *fd, size_t count, unsigned char *c); +int file_fetchchar(void *fd, size_t count, void *c); /** * file_putchar - Puts a char to a file. */ -int file_putchar(void *fd, size_t count, unsigned char *c); +int file_putchar(void *fd, size_t count, void *c); /** * stdin_getchar - Gets a char from stdin. */ -int stdin_getchar(void *ctx, size_t count, unsigned char *c); +int stdin_getchar(void *ctx, size_t count, void *c); /** * stdout_putchar - Puts a char to stdout. */ -int stdout_putchar(void *ctx, size_t count, unsigned char *c); +int stdout_putchar(void *ctx, size_t count, void *c); #endif /* __CHARFUNCS_H__ */ diff --git a/keydb_pg.c b/keydb_pg.c index e71ddee..0771317 100644 --- a/keydb_pg.c +++ b/keydb_pg.c @@ -36,7 +36,7 @@ static PGconn *dbconn = NULL; /** * keydb_fetchchar - Fetches a char from a file. */ -static int keydb_fetchchar(void *fd, size_t count, unsigned char *c) +static int keydb_fetchchar(void *fd, size_t count, void *c) { return (!lo_read(dbconn, *(int *) fd, (char *) c, count)); } @@ -44,7 +44,7 @@ static int keydb_fetchchar(void *fd, size_t count, unsigned char *c) /** * keydb_putchar - Puts a char to a file. */ -static int keydb_putchar(void *fd, size_t count, unsigned char *c) +static int keydb_putchar(void *fd, size_t count, void *c) { return !(lo_write(dbconn, *(int *) fd, (char *) c, count)); } diff --git a/parsekey.c b/parsekey.c index a0c0311..2d95106 100644 --- a/parsekey.c +++ b/parsekey.c @@ -168,7 +168,7 @@ int debug_packet(struct openpgp_packet *packet) * ready for parsing as a public key or whatever. */ int read_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list **packets, int maxnum) @@ -322,7 +322,7 @@ int read_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, * packet stream from a linked list of packets. */ int write_openpgp_stream(int (*putchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list *packets) { diff --git a/parsekey.h b/parsekey.h index 1778445..8718d1c 100644 --- a/parsekey.h +++ b/parsekey.h @@ -49,7 +49,7 @@ int debug_packet(struct openpgp_packet *packet); * none of the other packets of the key will be read. */ int read_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list **packets, int maxnum); @@ -64,7 +64,7 @@ int read_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, * packet stream from a linked list of packets. */ int write_openpgp_stream(int (*putchar_func)(void *ctx, size_t count, - unsigned char *c), + void *c), void *ctx, struct openpgp_packet_list *packets); diff --git a/sendsync.c b/sendsync.c index ffcf705..ace6b0d 100644 --- a/sendsync.c +++ b/sendsync.c @@ -19,12 +19,12 @@ #include "parsekey.h" #include "sendsync.h" -int fd_putchar(void *ctx, size_t count, unsigned char *c) +int fd_putchar(void *ctx, size_t count, void *c) { int i; for (i = 0; i < count; i++) { - fputc(c[i], ctx); + fputc(((char *) c )[i], ctx); } return 0; }