]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - test_src/main-bigint-test.c
bug fix + docu
[avr-crypto-lib.git] / test_src / main-bigint-test.c
index a1e853a794ba84b8ba8105ede68d77c030424a57..787a7cb4a5b6b8ef42933a632a5af49d0a6a2be3 100644 (file)
@@ -104,12 +104,12 @@ void test_add_scale_bigint(void){
        for(;;){
                cli_putstr_P(PSTR("\r\nenter a:"));
                if(bigint_read_hex_echo(&a)){
-                       cli_putstr_P(PSTR("\r\n end add test"));
+                       cli_putstr_P(PSTR("\r\n end add-scale test"));
                        return;
                }
                cli_putstr_P(PSTR("\r\nenter b:"));
                if(bigint_read_hex_echo(&b)){
-                       cli_putstr_P(PSTR("\r\n end add test"));
+                       cli_putstr_P(PSTR("\r\n end add-scale test"));
                        return;
                }
                cli_putstr_P(PSTR("\r\nenter scale:"));
@@ -125,13 +125,6 @@ void test_add_scale_bigint(void){
                        return;
                }
        */
-               cli_putstr_P(PSTR("\r\n "));
-               bigint_print_hex(&a);
-               cli_putstr_P(PSTR(" + "));
-               bigint_print_hex(&b);
-               cli_putstr_P(PSTR("<<8*"));
-               bigint_print_hex(&scale);
-               cli_putstr_P(PSTR(" = "));
                uint8_t *c_b;
                c_b = malloc(((a.length_B>(b.length_B+scale))?a.length_B:(b.length_B+scale))+2);
                if(c_b==NULL){
@@ -140,9 +133,16 @@ void test_add_scale_bigint(void){
                        free(b.wordv);
                        continue;
                }
-               bigint_copy(&c, &a);
                c.wordv = c_b;
+               bigint_copy(&c, &a);
                bigint_add_scale_u(&c, &b, scale);
+               cli_putstr_P(PSTR("\r\n "));
+               bigint_print_hex(&a);
+               cli_putstr_P(PSTR(" + "));
+               bigint_print_hex(&b);
+               cli_putstr_P(PSTR("<<8*"));
+               cli_hexdump_rev(&scale, 2);
+               cli_putstr_P(PSTR(" = "));
                bigint_print_hex(&c);
                cli_putstr_P(PSTR("\r\n"));
                free(a.wordv);