]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
* macros.h (INCREMENT): New macro, moved from ctr.c. Deleted third
authorNiels Möller <nisse@lysator.liu.se>
Sat, 5 Feb 2011 22:12:15 +0000 (23:12 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Sat, 5 Feb 2011 22:12:15 +0000 (23:12 +0100)
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

ChangeLog
ctr.c
macros.h

index f248e9cb093f1751d4a8782832e34e14e2d6c860..3bb5620de2b4829469293516382feb84720cb21b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-05  Niels Möller  <nisse@lysator.liu.se>
+
+       * 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  <nisse@lysator.liu.se>
 
        * testsuite/Makefile.in (check): Add ../.lib to PATH, since that's
diff --git a/ctr.c b/ctr.c
index 25ce7f8c38e30350822de13f64baf7d53439e3e9..d94136c15c86ff79b70780f0b902716aa445e1b1 100644 (file)
--- a/ctr.c
+++ b/ctr.c
 
 #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);
     }
 }
index 2cc69cbbc9aa14d5c6ca8edd60b4f0dec557cb55..8a3e1688f5a17ea0ecb547b93826887664093cf9 100644 (file)
--- 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 */