From 078b86ddb0979f714d602c7d831947156c0f14d0 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sun, 10 Apr 2016 08:52:14 -0300 Subject: [PATCH] =?utf8?q?Imprime=20lista=20de=20dependentes=20no=20cabe?= =?utf8?q?=C3=A7alho=20do=20DEC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit O cabeçalho do arquivo contém campos para CPFs e datas de nascimento dos dependentes. Estes valores não eram impressos. Agora, itera-se na lista de dependentes e os valores são impressos. --- lib/gera.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/gera.c b/lib/gera.c index 93c30b9..dc5ca7e 100644 --- a/lib/gera.c +++ b/lib/gera.c @@ -35,6 +35,8 @@ static void gera_header(struct declaracao *dec, FILE *f) { + int i; + fprintf(f, "IRPF "); fprintf(f, "%04d", dec->ano); /* Exercício */ fprintf(f, "%04d", dec->ano - 1); /* Ano base */ @@ -99,18 +101,20 @@ static void gera_header(struct declaracao *dec, FILE *f) fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 1)); /* CNPJ maior 2 */ fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 2)); /* CNPJ maior 3 */ fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 3)); /* CNPJ maior 4 */ - fprintf(f, "%-11.11s", ""); /* CPF Dependente 1 */ - fprintf(f, "%-8.8s", ""); /* DN Dependente 1 */ - fprintf(f, "%-11.11s", ""); /* CPF Dependente 2 */ - fprintf(f, "%-8.8s", ""); /* DN Dependente 2 */ - fprintf(f, "%-11.11s", ""); /* CPF Dependente 3 */ - fprintf(f, "%-8.8s", ""); /* DN Dependente 3 */ - fprintf(f, "%-11.11s", ""); /* CPF Dependente 4 */ - fprintf(f, "%-8.8s", ""); /* DN Dependente 4 */ - fprintf(f, "%-11.11s", ""); /* CPF Dependente 5 */ - fprintf(f, "%-8.8s", ""); /* DN Dependente 5 */ - fprintf(f, "%-11.11s", ""); /* CPF Dependente 6 */ - fprintf(f, "%-8.8s", ""); /* DN Dependente 6 */ + /* CPF e DN de dependentes 1 a 6 */ + for (i = 1; i <= 6; i++) { + struct dependente *dependente = list_get(dec->dependentes, i - 1); + if (dependente && dependente->cpf && dependente->cpf[0]) { + fprintf(f, "%-11.11s", dependente->cpf); + } else { + fprintf(f, "%-11.11s", ""); + } + if (dependente && dependente->dn && dependente->dn[0]) { + fprintf(f, "%-8.8s", dependente->dn); + } else { + fprintf(f, "%-8.8s", ""); + } + } /* medico maior, TODO: outros códigos */ fprintf(f, "%-14.14s", medico_cnpj_ordenado(dec, 0)); /* medico maior 2, TODO: outros códigos */ -- 2.20.1