git.droids-corp.org
/
libcmdline.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cmdline: allow quoted strings
[libcmdline.git]
/
src
/
genconf
/
parse_confnode.c
diff --git
a/src/genconf/parse_confnode.c
b/src/genconf/parse_confnode.c
index
b4da9dd
..
5c8202b
100644
(file)
--- a/
src/genconf/parse_confnode.c
+++ b/
src/genconf/parse_confnode.c
@@
-142,20
+142,13
@@
parse_conf_node(cmdline_parse_token_hdr_t *tk, const char *buf, void *res)
struct confnode *n;
struct confnode_list l;
unsigned int token_len = 0;
struct confnode *n;
struct confnode_list l;
unsigned int token_len = 0;
- char token[
BUFSIZ
];
+ char token[
CMDLINE_MAX_TOKEN_SIZE
];
- if (*buf == 0)
+ /* if token is too big... */
+ token_len = snprintf(token, sizeof(token), "%s", buf);
+ if (token_len >= sizeof(token))
return -1;
return -1;
- while(!cmdline_isendoftoken(buf[token_len]))
- token_len++;
-
- if (token_len > sizeof(token) - 1)
- return -1;
-
- memcpy(token, buf, token_len);
- token[token_len] = '\0';
-
TAILQ_INIT(&l);
/* absolute path */
TAILQ_INIT(&l);
/* absolute path */
@@
-181,7
+174,7
@@
parse_conf_node(cmdline_parse_token_hdr_t *tk, const char *buf, void *res)
if (res)
*(struct confnode **)res = TAILQ_FIRST(&l);
if (res)
*(struct confnode **)res = TAILQ_FIRST(&l);
-
return token_len;
+ return token_len;
}
int complete_get_nb_conf_node(cmdline_parse_token_hdr_t *tk)
}
int complete_get_nb_conf_node(cmdline_parse_token_hdr_t *tk)