Utiliza contexto na declaração ao gerar rendimentos.
[cascardo/declara.git] / lib / gera.c
index 6cf444f..a07319d 100644 (file)
@@ -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 */
@@ -905,12 +905,12 @@ static void gera_bem(struct declaracao *dec, FILE *f)
        fprintf(f, "%04d", b->cd_municipio);
        fprintf(f, "%-40.40s", b->municipio ?: "");
        /* FIXME: Registro de imóveis, Nao (0), Sim (1), Vazio (2) */
-       fprintf(f, "%d", b->registro ? 1 : 0);
+       fprintf(f, "%d", b->registro ? 1 : 2);
        fprintf(f, "%-40.40s", b->matricula ?: "");
        fprintf(f, "%-40.40s", b->registro ?: "");
        fprintf(f, "%011lld", b->area);
        /* FIXME: Area, M2 (0), Ha (1), Vazio (2) */
-       fprintf(f, "%d", 0);
+       fprintf(f, "%d", (b->area == 0) ? 2 : 0);
        fprintf(f, "%-60.60s", b->cartorio ?: "");
 
        /* Número de chave */
@@ -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) {