Dont require c99 for shamirssecret.c
authorMatt Corallo <git@bluematt.me>
Sun, 8 Sep 2013 04:14:46 +0000 (00:14 -0400)
committerMatt Corallo <git@bluematt.me>
Thu, 5 Sep 2013 15:01:52 +0000 (11:01 -0400)
build.sh
shamirssecret.c

index ad548405eb77c005a4553d1fa947a485ca577048..2b922153d33dcd468db7cdf7da2adb6750d5864b 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
 $CC $CFLAGS -Wall -Werror -O2 -std=c99 shamirssecret.c -DTEST -o shamirssecret && ./shamirssecret &&
-$CC $CFLAGS -Wall -Werror -O2 -std=c99 -c shamirssecret.c -o shamirssecret.o &&
+$CC $CFLAGS -Wall -Werror -O2 -c shamirssecret.c -o shamirssecret.o &&
 $CC $CFLAGS -Wall -Werror -O2 -std=c99 main.c shamirssecret.o -o shamirssecret
index f440f49f21d7d2d9d7413f048b8cc546b38c0536..e3bbe49eb1cbc0ccbd563656b0893c4d3949fb80 100644 (file)
@@ -187,9 +187,9 @@ int main() {
  * coefficients[0] == secret, the rest are random values
  */
 uint8_t calculateQ(uint8_t coefficients[], uint8_t shares_required, uint8_t x) {
+       uint8_t ret = coefficients[0], i;
        CHECKSTATE(x != 0); // q(0) == secret, though so does a[0]
-       uint8_t ret = coefficients[0];
-       for (uint8_t i = 1; i < shares_required; i++) {
+       for (i = 1; i < shares_required; i++) {
                ret = field_add(ret, field_mul(coefficients[i], field_pow(x, i)));
        }
        return ret;
@@ -201,10 +201,10 @@ uint8_t calculateQ(uint8_t coefficients[], uint8_t shares_required, uint8_t x) {
 uint8_t calculateSecret(uint8_t x[], uint8_t q[], uint8_t shares_required) {
        // Calculate the x^0 term using a derivation of the forumula at
        // http://en.wikipedia.org/wiki/Lagrange_polynomial#Example_2
-       uint8_t ret = 0;
-       for (uint8_t i = 0; i < shares_required; i++) {
+       uint8_t ret = 0, i, j;
+       for (i = 0; i < shares_required; i++) {
                uint8_t temp = q[i];
-               for (uint8_t j = 0; j < shares_required; j++) {
+               for (j = 0; j < shares_required; j++) {
                        if (i == j)
                                continue;
                        temp = field_mul(temp, field_neg(x[j]));