Adiciona informação de taxas à declaração.
[cascardo/declara.git] / declara.c
index 873335e..db113ad 100644 (file)
--- a/declara.c
+++ b/declara.c
 #include <unistd.h>
 
 #include "declaracao.h"
+#include "cmd.h"
+#include "base.h"
+#include "rendimento.h"
+
+static int realprocess(struct declaracao *dec, int fd)
+{
+       char *line = NULL;
+       size_t lsz = 0;
+       FILE *f;
+       int r;
+       f = fdopen(fd, "r");
+       if (!f)
+               return -errno;
+       while ((r = getline(&line, &lsz, f)) > 0) {
+               cmd_run(dec, line);
+       }
+       free(line);
+       return r;
+}
 
 static int process(char *filename)
 {
@@ -38,6 +57,7 @@ static int process(char *filename)
                r = -errno;
                goto out_open;
        }
+       realprocess(dec, fd);
        close(fd);
 out_open:
        declaracao_free(dec);
@@ -56,6 +76,11 @@ int main(int argc, char **argv)
        int r;
        if (argc < 2)
                usage();
+
+       cmd_init();
+       base_cmd_init();
+       rendimento_cmd_init();
+
        filename = argv[1];
        r = process(filename);
        if (r)