From: Thadeu Lima de Souza Cascardo Date: Sun, 10 Apr 2016 11:52:14 +0000 (-0300) Subject: Imprime lista de dependentes no cabeçalho do DEC. X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fdeclara.git;a=commitdiff_plain;h=078b86ddb0979f714d602c7d831947156c0f14d0 Imprime lista de dependentes no cabeçalho do DEC. 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. --- 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 */