projects
/
cascardo
/
declara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Insere bens e rendimentos na ordem em que aparecem.
[cascardo/declara.git]
/
src
/
declara.c
diff --git
a/src/declara.c
b/src/declara.c
index
54e1abb
..
995dc31
100644
(file)
--- a/
src/declara.c
+++ b/
src/declara.c
@@
-28,16
+28,6
@@
#include "declaracao.h"
#include "cmd.h"
#include "declaracao.h"
#include "cmd.h"
-#include "base.h"
-#include "contribuinte.h"
-#include "conjuge.h"
-#include "rendimento.h"
-#include "isento.h"
-#include "pagamento.h"
-#include "bem.h"
-#include "dependente.h"
-#include "calcula.h"
-#include "gera.h"
static int readline_support = 1;
static int readline_support = 1;
@@
-47,20
+37,23
@@
static int fileprocess(struct declaracao *dec, int fd)
size_t lsz = 0;
FILE *f;
int r;
size_t lsz = 0;
FILE *f;
int r;
+ int rc = 0;
int n = 1;
f = fdopen(fd, "r");
if (!f)
return -errno;
int n = 1;
f = fdopen(fd, "r");
if (!f)
return -errno;
- while (
(r = getline(&line, &lsz, f)
) > 0) {
+ while (
getline(&line, &lsz, f
) > 0) {
r = cmd_run(dec, line);
if (r < 0) {
fprintf(stderr, "Não foi possível executar comando na linha %d: %s\n",
r = cmd_run(dec, line);
if (r < 0) {
fprintf(stderr, "Não foi possível executar comando na linha %d: %s\n",
- n, strerror(-r));
+ n, dec->error ?: strerror(-r));
+ rc = r;
}
n++;
}
free(line);
}
n++;
}
free(line);
- return r;
+ fclose(f);
+ return rc;
}
static int ttyprocess(struct declaracao *dec)
}
static int ttyprocess(struct declaracao *dec)
@@
-74,7
+67,7
@@
static int ttyprocess(struct declaracao *dec)
r = cmd_run(dec, line);
if (r < 0) {
fprintf(stderr, "Não foi possível executar comando: %s\n",
r = cmd_run(dec, line);
if (r < 0) {
fprintf(stderr, "Não foi possível executar comando: %s\n",
- strerror(-r));
+
dec->error ?:
strerror(-r));
}
free(line);
}
}
free(line);
}
@@
-123,17
+116,7
@@
int main(int argc, char **argv)
usage();
cmd_init();
usage();
cmd_init();
- base_cmd_init();
- contribuinte_cmd_init();
- conjuge_cmd_init();
- rendimento_cmd_init();
- isento_cmd_init();
- pagamento_cmd_init();
- bem_cmd_init();
- dependente_cmd_init();
- calcula_cmd_init();
- gera_cmd_init();
- sistema_cmd_init();
+ dec_cmd_init();
if (argc > 1)
filename = argv[1];
if (argc > 1)
filename = argv[1];