Martin Storsjö <[email protected]> writes: > --- > libavutil/blowfish.c | 32 +++++++++++++++++++++----------- > 1 file changed, 21 insertions(+), 11 deletions(-) > > diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c > index 5df3dfc..35c546a 100644 > --- a/libavutil/blowfish.c > +++ b/libavutil/blowfish.c > @@ -522,6 +522,25 @@ static const uint8_t ciphertext[8] = { > 0x32, 0x4E, 0xD0, 0xFE, 0xF4, 0x13, 0xA2, 0x03 > }; > > +#undef exit > +static void test_blowfish(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src, > + const uint8_t *ref, int len, uint8_t *iv, int dir, > + const char *test) > +{ > + av_blowfish_crypt(ctx, dst, src, len, iv, dir); > + if (memcmp(dst, ref, 8*len)) { > + int i; > + printf("%s failed\ngot ", test); > + for (i = 0; i < 8*len; i++) > + printf("%02x ", dst[i]); > + printf("\nexpected "); > + for (i = 0; i < 8*len; i++) > + printf("%02x ", ref[i]); > + printf("\n"); > + exit(1); > + } > +} > + > int main(void) > { > AVBlowfish ctx; > @@ -532,17 +551,8 @@ int main(void) > > av_blowfish_init(&ctx, "abcdefghijklmnopqrstuvwxyz", 26); > > - av_blowfish_crypt(&ctx, tmp, plaintext, 1, NULL, 0); > - if (memcmp(tmp, ciphertext, 8)) { > - printf("Test encryption failed.\n"); > - return 1; > - } > - > - av_blowfish_crypt(&ctx, tmp, ciphertext, 1, NULL, 1); > - if (memcmp(tmp, plaintext, 8)) { > - printf("Test decryption failed.\n"); > - return 1; > - } > + test_blowfish(&ctx, tmp, plaintext, ciphertext, 1, NULL, 0, > "encryption"); > + test_blowfish(&ctx, tmp, ciphertext, plaintext, 1, NULL, 1, > "decryption");
Some of the arguments to that function seem unnecessary since they are always the same. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
