[BACK]Return to inout.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / dc

Diff for /src/usr.bin/dc/inout.c between version 1.21 and 1.22

version 1.21, 2017/11/29 19:12:48 version 1.22, 2021/11/10 04:39:16
Line 328 
Line 328 
         stack_clear(&stack);          stack_clear(&stack);
         if (b->scale > 0) {          if (b->scale > 0) {
                 struct number   *num_base;                  struct number   *num_base;
                 BIGNUM          mult, stop;                  BIGNUM          *mult, *stop;
   
                 putcharwrap(f, '.');                  putcharwrap(f, '.');
                 num_base = new_number();                  num_base = new_number();
                 bn_check(BN_set_word(num_base->number, base));                  bn_check(BN_set_word(num_base->number, base));
                 BN_init(&mult);                  mult = BN_new();
                 bn_check(BN_one(&mult));                  bn_checkp(mult);
                 BN_init(&stop);                  bn_check(BN_one(mult));
                 bn_check(BN_one(&stop));                  stop = BN_new();
                 scale_number(&stop, b->scale);                  bn_checkp(stop);
                   bn_check(BN_one(stop));
                   scale_number(stop, b->scale);
   
                 i = 0;                  i = 0;
                 while (BN_cmp(&mult, &stop) < 0) {                  while (BN_cmp(mult, stop) < 0) {
                         u_long  rem;                          u_long  rem;
   
                         if (i && base > 16)                          if (i && base > 16)
Line 358 
Line 360 
                             int_part->number));                              int_part->number));
                         printwrap(f, p);                          printwrap(f, p);
                         free(p);                          free(p);
                         bn_check(BN_mul_word(&mult, base));                          bn_check(BN_mul_word(mult, base));
                 }                  }
                 free_number(num_base);                  free_number(num_base);
                 BN_free(&mult);                  BN_free(mult);
                 BN_free(&stop);                  BN_free(stop);
         }          }
         flushwrap(f);          flushwrap(f);
         free_number(int_part);          free_number(int_part);

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22