summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/xtea.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/libavutil/xtea.c b/libavutil/xtea.c
index d9c2858a5c..bfc613dc47 100644
--- a/libavutil/xtea.c
+++ b/libavutil/xtea.c
@@ -227,20 +227,19 @@ int main(void)
uint8_t buf[8];
int i;
+#define CHECK(dst, src, ref, len, iv, dir, error) \
+ av_xtea_crypt(&ctx, dst, src, len, iv, dir);\
+ if (memcmp(dst, ref, 8*len)) {\
+ printf(error);\
+ return 1;\
+ }
+
for (i = 0; i < XTEA_NUM_TESTS; i++) {
av_xtea_init(&ctx, xtea_test_key[i]);
- av_xtea_crypt(&ctx, buf, xtea_test_pt[i], 1, NULL, 0);
- if (memcmp(buf, xtea_test_ct[i], 8)) {
- printf("Test encryption failed.\n");
- return 1;
- }
+ CHECK(buf, xtea_test_pt[i], xtea_test_ct[i], 1, NULL, 0, "Test encryption failed.\n");
+ CHECK(buf, xtea_test_ct[i], xtea_test_pt[i], 1, NULL, 1, "Test decryption failed.\n");
- av_xtea_crypt(&ctx, buf, xtea_test_ct[i], 1, NULL, 1);
- if (memcmp(buf, xtea_test_pt[i], 8)) {
- printf("Test decryption failed.\n");
- return 1;
- }
}
printf("Test encryption/decryption success.\n");