projects
/
cascardo
/
declara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adiciona mensagens de erro ao comando gera.
[cascardo/declara.git]
/
lib
/
gera.c
diff --git
a/lib/gera.c
b/lib/gera.c
index
a496190
..
ae5c1a0
100644
(file)
--- a/
lib/gera.c
+++ b/
lib/gera.c
@@
-839,7
+839,7
@@
static void insert_hash(struct declaracao *dec, char *irpf)
static int gera(struct declaracao *dec, char *filename)
{
FILE *f;
static int gera(struct declaracao *dec, char *filename)
{
FILE *f;
- int r;
+ int r
= 0
;
int i;
struct rendimento *rendimento;
struct isento *isento;
int i;
struct rendimento *rendimento;
struct isento *isento;
@@
-864,8
+864,12
@@
static int gera(struct declaracao *dec, char *filename)
} while (0);
f = fopen(filename, "w");
} while (0);
f = fopen(filename, "w");
- if (!f)
+ if (!f) {
+ r = -errno;
+ dec_set_error(dec, "Não foi possível abrir arquivo %s: %s.",
+ filename, strerror(errno));
goto out_file;
goto out_file;
+ }
memset(dec->linhas, 0, sizeof(dec->linhas));
W(gera_header);
W(gera_contribuinte);
memset(dec->linhas, 0, sizeof(dec->linhas));
W(gera_header);
W(gera_contribuinte);
@@
-935,10
+939,16
@@
out_file:
static int run_gera(struct declaracao *dec, char **args, int argc)
{
static int run_gera(struct declaracao *dec, char **args, int argc)
{
- if (argc != 2)
+ if (argc != 2) {
+ dec_set_error(dec, "Comando %s recebe um nome de arquivo como parâmetro.",
+ args[0]);
return -EINVAL;
return -EINVAL;
- if (!ANO_VALIDO(dec->ano))
+ }
+ if (!ANO_VALIDO(dec->ano)) {
+ dec_set_error(dec, "Comando %s não suporta ano %d.",
+ args[0], dec->ano);
return -EINVAL;
return -EINVAL;
+ }
return gera(dec, args[1]);
}
return gera(dec, args[1]);
}