X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fdeclara.git;a=blobdiff_plain;f=lib%2Fgera.c;h=dc5ca7e7c820f4385f6dafaa8c4435a9ed192303;hp=93c30b9b16fcb9b65e57a09deb25a47f0023837f;hb=078b86ddb0979f714d602c7d831947156c0f14d0;hpb=5c3299a5fc3103e21d7d7a2a6ae03c5c7d3eb221 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 */