From a99b09340e6b9c46268dfe2685d6997dd751212e Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Mon, 30 Apr 2018 17:35:13 -0300 Subject: [PATCH] =?utf8?q?Utiliza=20contexto=20na=20declara=C3=A7=C3=A3o?= =?utf8?q?=20ao=20gerar=20rendimentos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit O número de linhas é utilizado para obter o rendimento cuja linha será gerada. No entanto, com o novo formato de 2018, este método não funciona sempre. A utilização de um ponteiro de uso temporário na declaração resolve o problema, e é menos sujeito a erros. --- lib/declaracao.h | 1 + lib/gera.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/declaracao.h b/lib/declaracao.h index 1ffd86e..0dc2c17 100644 --- a/lib/declaracao.h +++ b/lib/declaracao.h @@ -64,6 +64,7 @@ struct declaracao { unsigned long rhash; int verbose; char *error; + void *ctx; }; struct declaracao * declaracao_new(int ano); diff --git a/lib/gera.c b/lib/gera.c index c0f565c..a07319d 100644 --- a/lib/gera.c +++ b/lib/gera.c @@ -787,7 +787,7 @@ static void gera_isento2(struct declaracao *dec, FILE *f, int codigo, int subcodigo, int codigoreal) { struct isento *i; - i = isento_get(dec, codigo, dec->linhas[codigo]); + i = dec->ctx; fprintf(f, "%02d", codigoreal); fprintf(f, "%-11.11s", dec->cpf); /* Titular */ /* Titular (T), Dependente (D), Alimentando (A), FIXME Alimentando */ @@ -1100,6 +1100,7 @@ static int gera(struct declaracao *dec, char *filename) isento = isento_get(dec, codigo, i); \ if (!isento) \ break; \ + dec->ctx = isento; \ W(fn); \ } if (dec->ano <= 2017) { -- 2.20.1