Funções para lista de pagamentos ordenados.
[cascardo/declara.git] / lib / gera.c
index 42de0d8..eac8b7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2015  Thadeu Lima de Souza Cascardo <cascardo@minaslivre.org>
+ *  Copyright (C) 2015-2016  Thadeu Lima de Souza Cascardo <cascardo@minaslivre.org>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -119,9 +119,9 @@ static void gera_header(struct declaracao *dec, FILE *f)
        fprintf(f, "%03d", dec->obrigatoria); /* criterio obrigatoriedade */
        fprintf(f, "%013lld", totais_get(dec, "RENDPJ")); /* Total tributavel */
        /* CNPJ previdencia */
-       fprintf(f, "%-14.14s", pagamento_cnpj_ordenado(dec, 36, 0));
+       fprintf(f, "%-14.14s", inss_cnpj_ordenado(dec, 0));
        /* CNPJ previdencia 2 */
-       fprintf(f, "%-14.14s", pagamento_cnpj_ordenado(dec, 36, 1));
+       fprintf(f, "%-14.14s", inss_cnpj_ordenado(dec, 1));
        /* Total isentos */
        fprintf(f, "%013lld", totais_get(dec, "ISENTOS"));
        /* Total exclusivo */
@@ -165,7 +165,7 @@ static void gera_contribuinte(struct declaracao *dec, FILE *f)
        fprintf(f, "%-15.15s", dec->contribuinte.tipo_logradouro);
        fprintf(f, "%-40.40s", dec->contribuinte.logradouro);
        fprintf(f, "%-6.6s", dec->contribuinte.numero);
-       fprintf(f, "%-21.21s", dec->contribuinte.complemento);
+       fprintf(f, "%-21.21s", dec->contribuinte.complemento ?: "");
        fprintf(f, "%-19.19s", dec->contribuinte.bairro);
        fprintf(f, "%-9.9s", dec->contribuinte.cep);
        fprintf(f, "%04d", dec->contribuinte.cd_municipio);
@@ -520,7 +520,7 @@ static void gera_recibodetalhe(struct declaracao *dec, FILE *f)
        fprintf(f, "%-15.15s", dec->contribuinte.tipo_logradouro);
        fprintf(f, "%-40.40s", dec->contribuinte.logradouro);
        fprintf(f, "%-6.6s", dec->contribuinte.numero);
-       fprintf(f, "%-21.21s", dec->contribuinte.complemento);
+       fprintf(f, "%-21.21s", dec->contribuinte.complemento ?: "");
        fprintf(f, "%-19.19s", dec->contribuinte.bairro);
        fprintf(f, "%-9.9s", dec->contribuinte.cep);
        fprintf(f, "%04d", dec->contribuinte.cd_municipio);
@@ -790,7 +790,8 @@ static int gera(struct declaracao *dec, char *filename)
                W(gera_bem);
        }
 
-       W(gera_conjuge);
+       if (dec->conjuge.cpf)
+               W(gera_conjuge);
 
        /* Rendimentos isentos e com tributação exclusiva */
        /* Registros 82 a 89, e 92 a 99 */
@@ -829,6 +830,8 @@ static int run_gera(struct declaracao *dec, char **args, int argc)
 {
        if (argc != 2)
                return -EINVAL;
+       if (dec->ano != 2015)
+               return -EINVAL;
        return gera(dec, args[1]);
 }