aboutsummaryrefslogtreecommitdiffstats
path: root/main/translate.c
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-16 09:46:20 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-16 09:46:20 +0000
commitc811946a9e4b08bada039f6914b6f9ec8a11558a (patch)
treee9db8d44eb771a1277f947b8f74252d5a671dc76 /main/translate.c
parent9ad774382a855bfefee91202a227abf3c5794ab1 (diff)
convert ast_build_str to ast_str_*
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48516 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/translate.c')
-rw-r--r--main/translate.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/main/translate.c b/main/translate.c
index 5fc5101b4..c7387a713 100644
--- a/main/translate.c
+++ b/main/translate.c
@@ -525,12 +525,9 @@ static int show_translation(int fd, int argc, char *argv[])
longest = curlen;
}
for (x = -1; x < SHOW_TRANS; x++) {
- char line[120];
- char *buf = line;
- size_t left = sizeof(line) - 1; /* one initial space */
- /* next 2 lines run faster than using ast_build_string() */
- *buf++ = ' ';
- *buf = '\0';
+ struct ast_str *out = ast_str_alloca(120);
+
+ ast_str_set(&out, -1, " ");
for (y = -1; y < SHOW_TRANS; y++) {
curlen = strlen(ast_getformatname(1 << (y)));
@@ -538,21 +535,21 @@ static int show_translation(int fd, int argc, char *argv[])
/* XXX 999 is a little hackish
We don't want this number being larger than the shortest (or current) codec
For now, that is "gsm" */
- ast_build_string(&buf, &left, "%*d", curlen + 1, tr_matrix[x][y].cost > 999 ? 0 : tr_matrix[x][y].cost);
+ ast_str_append(&out, -1, "%*d", curlen + 1, tr_matrix[x][y].cost > 999 ? 0 : tr_matrix[x][y].cost);
} else if (x == -1 && y >= 0) {
/* Top row - use a dynamic size */
- ast_build_string(&buf, &left, "%*s", curlen + 1, ast_getformatname(1 << (x + y + 1)) );
+ ast_str_append(&out, -1, "%*s", curlen + 1, ast_getformatname(1 << (x + y + 1)) );
} else if (y == -1 && x >= 0) {
/* Left column - use a static size. */
- ast_build_string(&buf, &left, "%*s", longest, ast_getformatname(1 << (x + y + 1)) );
+ ast_str_append(&out, -1, "%*s", longest, ast_getformatname(1 << (x + y + 1)) );
} else if (x >= 0 && y >= 0) {
- ast_build_string(&buf, &left, "%*s", curlen + 1, "-");
+ ast_str_append(&out, -1, "%*s", curlen + 1, "-");
} else {
- ast_build_string(&buf, &left, "%*s", longest, "");
+ ast_str_append(&out, -1, "%*s", longest, "");
}
}
- ast_build_string(&buf, &left, "\n");
- ast_cli(fd, line);
+ ast_str_append(&out, -1, "\n");
+ ast_cli(fd, out->str);
}
AST_RWLIST_UNLOCK(&translators);
return RESULT_SUCCESS;