From: Niels Möller Date: Sat, 5 Feb 2011 22:12:15 +0000 (+0100) Subject: * macros.h (INCREMENT): New macro, moved from ctr.c. Deleted third X-Git-Tag: nettle_2.2_release_20110711~196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fab557724e9a25925562796535934acb8a14a499;p=thirdparty%2Fnettle.git * macros.h (INCREMENT): New macro, moved from ctr.c. Deleted third argument. * ctr.c: Use INCREMENT macro from macros.h, deleted local version. Rev: nettle/ChangeLog:1.128 Rev: nettle/ctr.c:1.2 Rev: nettle/macros.h:1.3 --- diff --git a/ChangeLog b/ChangeLog index f248e9cb..3bb5620d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-02-05 Niels Möller + + * macros.h (INCREMENT): New macro, moved from ctr.c. Deleted third + argument. + * ctr.c: Use INCREMENT macro from macros.h, deleted local version. + 2011-01-07 Niels Möller * testsuite/Makefile.in (check): Add ../.lib to PATH, since that's diff --git a/ctr.c b/ctr.c index 25ce7f8c..d94136c1 100644 --- a/ctr.c +++ b/ctr.c @@ -33,18 +33,9 @@ #include "ctr.h" +#include "macros.h" #include "memxor.h" #include "nettle-internal.h" - -#define INCREMENT(size, counter, i) \ -do { \ - if (++(ctr)[(size) - 1] == 0) \ - { \ - unsigned i = size - 1; \ - while (i > 0 && ++(ctr)[--i] == 0) \ - ; \ - } \ -} while (0) void ctr_crypt(void *ctx, nettle_crypt_func f, @@ -61,7 +52,7 @@ ctr_crypt(void *ctx, nettle_crypt_func f, { f(ctx, block_size, dst, ctr); memxor(dst, src, block_size); - INCREMENT(block_size, ctr, i); + INCREMENT(block_size, ctr); } } else @@ -70,7 +61,7 @@ ctr_crypt(void *ctx, nettle_crypt_func f, { f(ctx, block_size, buffer, ctr); memxor3(dst, src, buffer, block_size); - INCREMENT(block_size, ctr, i); + INCREMENT(block_size, ctr); } } if (length > 0) @@ -79,6 +70,6 @@ ctr_crypt(void *ctx, nettle_crypt_func f, f(ctx, block_size, buffer, ctr); memxor3(dst, src, buffer, length); - INCREMENT(block_size, ctr, i); + INCREMENT(block_size, ctr); } } diff --git a/macros.h b/macros.h index 2cc69cbb..8a3e1688 100644 --- a/macros.h +++ b/macros.h @@ -119,4 +119,16 @@ do { \ (dst) += (blocksize), \ (src) += (blocksize)) ) +/* Requires that size >= 2 */ +#define INCREMENT(size, ctr) \ + do { \ + unsigned increment_i = (size) - 1; \ + if (++(ctr)[increment_i] == 0) \ + { \ + while (++(ctr)[--increment_i] == 0 \ + && increment_i > 0) \ + ; \ + } \ + } while (0) + #endif /* NETTLE_MACROS_H_INCLUDED */