Utiliza atributos para bens.
[cascardo/declara.git] / lib / importa.c
index c78ca36..152fbb3 100644 (file)
@@ -33,6 +33,7 @@
 #include "totais.h"
 #include "sistema.h"
 #include "ano.h"
+#include "attr.h"
 
 #define COPY(size) \
        if (size > sizeof(buffer) - 2) \
        COPY(size); \
        field = strdup(buffer);
 
+#define COPYA(attr, key, size) \
+       COPY(size); \
+       attr_set(&attr, key, buffer);
+
 #define COPYDI(field, size) \
        COPYI(dec->field, size)
 
@@ -460,22 +465,22 @@ static int importa_bem(struct declaracao *dec, char *line, size_t len)
        COPYL(b->valor, 13);
 
        /* Imóvel */
-       COPYS(b->logradouro, 40);
-       COPYS(b->numero, 6);
-       COPYS(b->complemento, 40);
-       COPYS(b->bairro, 40);
-       COPYS(b->cep, 9);
-       COPYS(b->uf, 2);
-       COPYI(b->cd_municipio, 4);
-       COPYS(b->municipio, 40);
+       COPYA(b->attr, "logradouro", 40);
+       COPYA(b->attr, "numero", 6);
+       COPYA(b->attr, "complemento", 40);
+       COPYA(b->attr, "bairro", 40);
+       COPYA(b->attr, "cep", 9);
+       COPYA(b->attr, "uf", 2);
+       COPYA(b->attr, "cd_municipio", 4);
+       COPYA(b->attr, "municipio", 40);
        /* FIXME: Registro de imóveis, Nao (0), Sim (1), Vazio (2) */
        pos += 1;
-       COPYS(b->matricula, 40);
-       COPYS(b->registro, 40);
-       COPYL(b->area, 11);
+       COPYA(b->attr, "matricula", 40);
+       COPYA(b->attr, "registro", 40);
+       COPYA(b->attr, "area", 11);
        /* FIXME: Area, M2 (0), Ha (1), Vazio (2) */
        pos += 1;
-       COPYS(b->cartorio, 60);
+       COPYA(b->attr, "cartorio", 60);
 
        /* Número de chave */
        pos += 5;