Simplifica set_int e set_string.
[cascardo/declara.git] / lib / bem.c
index 66675f8..c62a7ba 100644 (file)
--- a/lib/bem.c
+++ b/lib/bem.c
@@ -75,15 +75,10 @@ static struct bem * bem_new(char **args)
        int r = 0;
        bem = malloc(sizeof(*bem));
        memset(bem, 0, sizeof(*bem));
-       bem->descricao = strdup(args[2]);
-       /* TODO: consertar set_int para funcionar como set_llong */
-       r += set_int(args, 2, &bem->codigo);
+       r += set_int(args[1], &bem->codigo);
+       r += set_string(args[2], &bem->descricao);
        r += set_llong(args[3], &bem->valor_anterior);
        r += set_llong(args[4], &bem->valor);
-       if (!bem->descricao) {
-               bem_free(bem);
-               return NULL;
-       }
        if (r < 0 || bem->codigo < 0 ||
            bem->valor_anterior < 0 || bem->valor < 0) {
                bem_free(bem);