projects
/
cascardo
/
declara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Passa nĂºmero de argumentos para comandos.
[cascardo/declara.git]
/
base.c
diff --git
a/base.c
b/base.c
index
fdc7980
..
c6b057d
100644
(file)
--- a/
base.c
+++ b/
base.c
@@
-22,10
+22,10
@@
#include <string.h>
#include <errno.h>
#include <string.h>
#include <errno.h>
-static int set_int(char **args, int *val)
+static int set_int(char **args, int
argc, int
*val)
{
char *end = NULL;
{
char *end = NULL;
- if (arg
s[0] == NULL || args[1] == NULL
)
+ if (arg
c != 2
)
return -EINVAL;
errno = 0;
*val = strtol(args[1], &end, 0);
return -EINVAL;
errno = 0;
*val = strtol(args[1], &end, 0);
@@
-36,9
+36,9
@@
static int set_int(char **args, int *val)
return 0;
}
return 0;
}
-static int set_string(char **args, char **str)
+static int set_string(char **args,
int argc,
char **str)
{
{
- if (arg
s[0] == NULL || args[1] == NULL
)
+ if (arg
c != 2
)
return -EINVAL;
*str = strdup(args[1]);
if (!*str)
return -EINVAL;
*str = strdup(args[1]);
if (!*str)
@@
-47,10
+47,10
@@
static int set_string(char **args, char **str)
}
#define SET_INT(attr) \
}
#define SET_INT(attr) \
-static int run_##attr(struct declaracao *dec, char **args) \
+static int run_##attr(struct declaracao *dec, char **args
, int argc
) \
{ \
int val; \
{ \
int val; \
- int r = set_int(args, &val); \
+ int r = set_int(args,
argc,
&val); \
if (r) \
return r; \
dec->attr = val; \
if (r) \
return r; \
dec->attr = val; \
@@
-62,10
+62,10
@@
static struct cmd cmd_##attr = { \
};
#define SET_STRING(attr) \
};
#define SET_STRING(attr) \
-static int run_##attr(struct declaracao *dec, char **args) \
+static int run_##attr(struct declaracao *dec, char **args
, int argc
) \
{ \
char *val; \
{ \
char *val; \
- int r = set_string(args, &val); \
+ int r = set_string(args,
argc,
&val); \
if (r) \
return r; \
dec->attr = val; \
if (r) \
return r; \
dec->attr = val; \
@@
-80,7
+80,7
@@
SET_INT(ano);
SET_STRING(cpf);
SET_STRING(nome);
SET_STRING(cpf);
SET_STRING(nome);
-static int run_dump(struct declaracao *dec, char **args)
+static int run_dump(struct declaracao *dec, char **args
, int argc
)
{
printf("ano: %d\n", dec->ano);
printf("cpf: %s\n", dec->cpf);
{
printf("ano: %d\n", dec->ano);
printf("cpf: %s\n", dec->cpf);