2 * Copyright (C) 2015 Thadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #include "rendimento.h"
26 static int set_int(char **args, int argc, int *val)
32 *val = strtol(args[1], &end, 0);
40 static int set_string(char **args, int argc, char **str)
44 *str = strdup(args[1]);
50 #define SET_INT(attr) \
51 static int run_##attr(struct declaracao *dec, char **args, int argc) \
54 int r = set_int(args, argc, &val); \
60 static struct cmd cmd_##attr = { \
65 #define SET_STRING(attr) \
66 static int run_##attr(struct declaracao *dec, char **args, int argc) \
69 int r = set_string(args, argc, &val); \
75 static struct cmd cmd_##attr = { \
84 static int run_dump(struct declaracao *dec, char **args, int argc)
86 printf("ano: %d\n", dec->ano);
87 printf("cpf: %s\n", dec->cpf);
88 printf("nome: %s\n", dec->nome);
90 printf("pago: %lld.%02d\n", dec->pago / 100, dec->pago % 100);
91 printf("devido: %lld.%02d\n", dec->devido / 100, dec->devido % 100);
92 printf("restituicao: %lld.%02d\n", dec->restituicao / 100, dec->restituicao % 100);
96 static struct cmd cmd_dump = {
101 int base_cmd_init(void)