diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-12-20 20:20:04 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-12-20 20:20:04 +0000 |
commit | cc20111b727a69579dd9e58e05fca9deb75687f7 (patch) | |
tree | 028d8f36127b8aefd66e997f6e27e207a85f1e15 /cli.c | |
parent | 59d6c7a704380c45bef9313de86f6b2620e80366 (diff) |
- move the string join() function to utils.c since it is used in both cli.c and res_agi.c
- reimplement ast_join to be of linear effieciency instead of quadratic
- remove some useless checks for "if (e)"
- reorder checks for strings starting with '_' to avoid a useless call to ast_join()
- check array bounds when parsing arguments to AGI
(issue #5868)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7556 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'cli.c')
-rw-r--r-- | cli.c | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -1019,17 +1019,8 @@ static struct ast_cli_entry *find_cli(char *cmds[], int exact) static void join(char *dest, size_t destsize, char *w[], int tws) { - int x; - /* Join words into a string */ - if (!dest || destsize < 1) { - return; - } - dest[0] = '\0'; - for (x=0;w[x];x++) { - if (x) - strncat(dest, " ", destsize - strlen(dest) - 1); - strncat(dest, w[x], destsize - strlen(dest) - 1); - } + ast_join(dest, destsize, w); + if (tws && !ast_strlen_zero(dest)) strncat(dest, " ", destsize - strlen(dest) - 1); } |