{
int r;
r = totais_add(dec, "PAGAMENTOS", pagamento->pagamento);
- r += totais_add(dec, "PAGAMENTOSTIT", pagamento->pagamento);
r += totais_add(dec, "REEMBOLSOS", pagamento->reembolso);
- r += totais_add(dec, "REEMBOLSOSTIT", pagamento->reembolso);
+ if (pagamento->dependente) {
+ r += totais_add(dec, "PAGAMENTOSDEP", pagamento->pagamento);
+ r += totais_add(dec, "REEMBOLSOSDEP", pagamento->reembolso);
+ } else {
+ r += totais_add(dec, "PAGAMENTOSTIT", pagamento->pagamento);
+ r += totais_add(dec, "REEMBOLSOSTIT", pagamento->reembolso);
+ }
switch (pagamento->codigo) {
case 10:
+ case 12:
case 21:
case 26:
r += totais_add(dec, "MEDICAS", pagamento->pagamento - pagamento->reembolso);
struct pagamento *pagamento;
int r = 0;
pagamento = malloc(sizeof(*pagamento));
- pagamento->cnpj = strdup(args[2]);
- pagamento->nome = strdup(args[3]);
- /* TODO: consertar set_int para funcionar como set_llong */
- r += set_int(args, 2, &pagamento->codigo);
+ r += set_int(args[1], &pagamento->codigo);
+ r += set_string(args[2], &pagamento->cnpj);
+ r += set_string(args[3], &pagamento->nome);
r += set_llong(args[4], &pagamento->pagamento);
r += set_llong(args[5], &pagamento->reembolso);
- if (!pagamento->cnpj || !pagamento->nome) {
- pagamento_free(pagamento);
- return NULL;
- }
if (r < 0 || pagamento->codigo < 0 ||
pagamento->pagamento < 0 || pagamento->reembolso < 0) {
pagamento_free(pagamento);
return NULL;
}
if (argc == 7) {
- r = set_int(&args[5], 2, &pagamento->dependente);
+ r = set_int(args[6], &pagamento->dependente);
} else {
pagamento->dependente = 0;
}
{
switch (pagamento->codigo) {
case 10:
+ case 12:
case 21:
case 26:
return 1;