{
int r = 0;
- dec->conjuge.cpf = strdup(args[1]);
-
+ r += set_string(args[1], &dec->conjuge.cpf);
r += set_llong(args[2], &dec->conjuge.base);
r += set_llong(args[3], &dec->conjuge.imposto);
r += set_llong(args[4], &dec->conjuge.isento);
r += set_llong(args[5], &dec->conjuge.exclusivo);
r += set_llong(args[6], &dec->conjuge.rendpj_exigibilidade_suspensa);
r += set_llong(args[7], &dec->conjuge.total);
- r += set_int(args + 7, 2, &dec->conjuge.entregou);
+ r += set_int(args[8], &dec->conjuge.entregou);
- if (!dec->conjuge.cpf) {
- conjuge_free(dec);
- return -ENOMEM;
- }
if (r < 0 || dec->conjuge.base < 0 || dec->conjuge.imposto < 0 ||
dec->conjuge.isento < 0 || dec->conjuge.exclusivo < 0 ||
dec->conjuge.rendpj_exigibilidade_suspensa < 0 ||
{
struct conjuge *conjuge;
int r;
- if (argc != 9)
+ if (argc != 9) {
+ dec_set_error(dec, "Esperados %d argumentos, recebidos %d.\n", 9, argc);
return -EINVAL;
+ }
r = conjuge_parse(dec, args);
if (r < 0)
return r;
void conjuge_salva(struct declaracao *dec, FILE *f)
{
- fprintf(f, "conjuge \"%s\" %lld %lld %lld %lld %lld %lld %lld %lld %d\n",
+ if (!dec->conjuge.cpf)
+ return;
+ fprintf(f, "conjuge \"%s\" %lld %lld %lld %lld %lld %lld %d\n",
dec->conjuge.cpf, dec->conjuge.base,
dec->conjuge.imposto, dec->conjuge.isento,
dec->conjuge.exclusivo,