From d58dd47ae69caf8b2f91ae87ecdf1e44eefb045f Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sat, 30 May 2015 13:04:33 -0300 Subject: [PATCH] =?utf8?q?Acrescenta=20campo=20para=20recibo=20de=20declar?= =?utf8?q?a=C3=A7=C3=A3o=20anterior.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 6 ++++++ declaracao.c | 2 ++ declaracao.h | 1 + 3 files changed, 9 insertions(+) diff --git a/base.c b/base.c index 094750c..de07827 100644 --- 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; } diff --git a/declaracao.c b/declaracao.c index 2731222..d88c48d 100644 --- a/declaracao.c +++ b/declaracao.c @@ -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); } diff --git a/declaracao.h b/declaracao.h index 10ec424..4dec655 100644 --- a/declaracao.h +++ b/declaracao.h @@ -39,6 +39,7 @@ struct declaracao { long long restituicao; int tipo; char *recibo; + char *retifica; }; struct declaracao * declaracao_new(int ano); -- 2.20.1