struct isento *isento;
int r = 0;
isento = malloc(sizeof(*isento));
- isento->cnpj = strdup(args[2]);
- isento->nome = strdup(args[3]);
- /* TODO: consertar set_int para funcionar como set_llong */
- r += set_int(args, 2, &isento->codigo);
+
+ r += set_int(args[1], &isento->codigo);
+ r += set_string(args[2], &isento->cnpj);
+ r += set_string(args[3], &isento->nome);
r += set_llong(args[4], &isento->valor);
- if (!isento->cnpj || !isento->nome) {
- isento_free(isento);
- return NULL;
- }
if (r < 0 || isento->codigo < 0 ||
isento->valor < 0) {
isento_free(isento);
return NULL;
}
if (argc == 6) {
- r = set_int(&args[4], 2, &isento->dependente);
+ r = set_int(args[5], &isento->dependente);
} else {
isento->dependente = 0;
}