diff options
author | Diego Biurrun <diego@biurrun.de> | 2015-02-05 19:45:41 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2017-01-09 15:18:16 +0100 |
commit | 00b6a765430e5c5cacf0bd1be8b318d631cd4e14 (patch) | |
tree | a516a13c359b8dea0b97d77673867b49e04c1328 | |
parent | e435beb1ea5380a90774dbf51fdc8c941e486551 (diff) | |
download | ffmpeg-00b6a765430e5c5cacf0bd1be8b318d631cd4e14.tar.gz |
hmac: Explicitly convert types at function pointer assignment
Fixes a number of warnings of the type
libavutil/hmac.c:61:21: warning: assignment from incompatible pointer type
-rw-r--r-- | libavutil/hmac.c | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/libavutil/hmac.c b/libavutil/hmac.c index 378be62fd3..7528fd3b82 100644 --- a/libavutil/hmac.c +++ b/libavutil/hmac.c @@ -18,6 +18,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <stddef.h> +#include <stdint.h> #include <string.h> #include "attributes.h" @@ -25,16 +27,25 @@ #include "md5.h" #include "sha.h" #include "mem.h" +#include "version.h" #define MAX_HASHLEN 32 #define MAX_BLOCKLEN 64 +typedef void (*hmac_final)(void *ctx, uint8_t *dst); +#if FF_API_CRYPTO_SIZE_T +typedef void (*hmac_update)(void *ctx, const uint8_t *src, int len); +#else +typedef void (*hmac_update)(void *ctx, const uint8_t *src, size_t len); +#endif +typedef void (*hmac_init)(void *ctx); + struct AVHMAC { void *hash; int blocklen, hashlen; - void (*final)(void*, uint8_t*); - void (*update)(void*, const uint8_t*, int len); - void (*init)(void*); + hmac_final final; + hmac_update update; + hmac_init init; uint8_t key[MAX_BLOCKLEN]; int keylen; }; @@ -58,33 +69,33 @@ AVHMAC *av_hmac_alloc(enum AVHMACType type) case AV_HMAC_MD5: c->blocklen = 64; c->hashlen = 16; - c->init = av_md5_init; - c->update = av_md5_update; - c->final = av_md5_final; + c->init = (hmac_init) av_md5_init; + c->update = (hmac_update) av_md5_update; + c->final = (hmac_final) av_md5_final; c->hash = av_md5_alloc(); break; case AV_HMAC_SHA1: c->blocklen = 64; c->hashlen = 20; c->init = sha160_init; - c->update = av_sha_update; - c->final = av_sha_final; + c->update = (hmac_update) av_sha_update; + c->final = (hmac_final) av_sha_final; c->hash = av_sha_alloc(); break; case AV_HMAC_SHA224: c->blocklen = 64; c->hashlen = 28; c->init = sha224_init; - c->update = av_sha_update; - c->final = av_sha_final; + c->update = (hmac_update) av_sha_update; + c->final = (hmac_final) av_sha_final; c->hash = av_sha_alloc(); break; case AV_HMAC_SHA256: c->blocklen = 64; c->hashlen = 32; c->init = sha256_init; - c->update = av_sha_update; - c->final = av_sha_final; + c->update = (hmac_update) av_sha_update; + c->final = (hmac_final) av_sha_final; c->hash = av_sha_alloc(); break; default: |