Acrescenta campo para recibo de declaração anterior.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 30 May 2015 16:04:33 +0000 (13:04 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 30 May 2015 16:07:07 +0000 (13:07 -0300)
Para declarações retificadoras, é necessário indicar o recibo da
declaração anterior, do mesmo ano. Se este campo estiver presente,
indica que a declaração é retificadora.

base.c
declaracao.c
declaracao.h

diff --git a/base.c b/base.c
index 094750c..de07827 100644 (file)
--- a/base.c
+++ b/base.c
@@ -28,9 +28,12 @@ SET_INT(ano);
 SET_STRING(cpf);
 SET_STRING(nome);
 SET_STRING(recibo);
+SET_STRING(retifica);
 
 static int run_resumo(struct declaracao *dec, char **args, int argc)
 {
+       if (dec->retifica)
+               printf("retificadora\n");
        printf("pago: %lld.%02d\n", dec->pago / 100, dec->pago % 100);
        printf("devido: %lld.%02d\n", dec->devido / 100, dec->devido % 100);
        printf("restituicao: %lld.%02d\n", dec->restituicao / 100, dec->restituicao % 100);
@@ -46,6 +49,8 @@ static void salva(struct declaracao *dec, FILE *f)
                fprintf(f, "nome \"%s\"\n", dec->nome);
        if (dec->recibo)
                fprintf(f, "recibo \"%s\"\n", dec->recibo);
+       if (dec->retifica)
+               fprintf(f, "retifica \"%s\"\n", dec->retifica);
        contribuinte_salva(dec, f);
        rendimento_salva(dec, f);
 }
@@ -82,6 +87,7 @@ int base_cmd_init(void)
        cmd_add(&cmd_ano);
        cmd_add(&cmd_cpf);
        cmd_add(&cmd_recibo);
+       cmd_add(&cmd_retifica);
        cmd_add(&cmd_nome);
        return 0;
 }
index 2731222..d88c48d 100644 (file)
@@ -51,6 +51,8 @@ void declaracao_free(struct declaracao *dec)
                free(dec->nome);
        if (dec->recibo)
                free(dec->recibo);
+       if (dec->retifica);
+               free(dec->retifica);
        list_free(dec->rendimento, rendimento_free);
        free(dec);
 }
index 10ec424..4dec655 100644 (file)
@@ -39,6 +39,7 @@ struct declaracao {
        long long restituicao;
        int tipo;
        char *recibo;
+       char *retifica;
 };
 
 struct declaracao * declaracao_new(int ano);