Evita divisão por zero ao calcular alíquota efetiva.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 20 Apr 2019 10:14:48 +0000 (07:14 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 20 Apr 2019 10:27:51 +0000 (07:27 -0300)
Se não há rendimentos tributáveis, uma divisão por zero ocorreria ao calcular a
alíquota efetiva. Considera alíquota igual a zero neste caso.

lib/calcula.c

index eac8894..e577823 100644 (file)
@@ -284,7 +284,10 @@ int calcula(struct declaracao *dec)
                dec->restituicao = dec->pago - dec->devido;
        else
                dec->pagar = dec->devido - dec->pago;
-       dec->aliquota_efetiva = dec->devido * 10000 / totais_get(dec, "RENDTRIB");
+       if (totais_get(dec, "RENDTRIB") == 0)
+               dec->aliquota_efetiva = 0;
+       else
+               dec->aliquota_efetiva = dec->devido * 10000 / totais_get(dec, "RENDTRIB");
        return 0;
 }