X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=bigint%2Fbigint_io.c;fp=bigint%2Fbigint_io.c;h=221c61c0e3ffe7a810d27aea6e9fae077f7ad758;hb=ca25e57ca6a74d6e26cad823d45fcc4604689fa1;hp=1a2b12c27bf8feb5ebdf0f47437c8372b1afae94;hpb=4bd4efef59a3f71149393516b7bd283eeab18363;p=avr-crypto-lib.git diff --git a/bigint/bigint_io.c b/bigint/bigint_io.c index 1a2b12c..221c61c 100644 --- a/bigint/bigint_io.c +++ b/bigint/bigint_io.c @@ -18,19 +18,26 @@ */ #include "cli.h" +#include "hexdigit_tab.h" #include "bigint.h" +#include #include #include void bigint_print_hex(const bigint_t* a){ + if(a->length_B==0){ + cli_putc('0'); + return; + } if(a->info&BIGINT_NEG_MASK){ cli_putc('-'); } // cli_putc((a->info&BIGINT_NEG_MASK)?'-':'+'); /* print sign */ - if(a->length_B!=0){ + if(a->wordv[a->length_B-1]<0x10){ + cli_putc(pgm_read_byte(hexdigit_tab_uc_P+a->wordv[a->length_B-1])); + cli_hexdump_rev(a->wordv, a->length_B-1); + } else { cli_hexdump_rev(a->wordv, a->length_B); - }else{ - cli_putc('0'); } }