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 */
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 */