summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2003-09-27 02:22:18 +0000
committerMark Spencer <markster@digium.com>2003-09-27 02:22:18 +0000
commit249eef49d69d7ec2476fdcf7a3ab526270e6a624 (patch)
tree903b5f5ac558eaba1d154f3f60a30fd943855120 /pbx.c
parent372bb483c5abd4e87259dc516dd8c4e19118c5e6 (diff)
Move to asprintf (bug #252)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/pbx.c b/pbx.c
index aa833c791..ba5f8c075 100755
--- a/pbx.c
+++ b/pbx.c
@@ -2336,8 +2336,8 @@ static char *complete_show_application(char *line, char *word,
static int handle_show_application(int fd, int argc, char *argv[])
{
struct ast_app *a;
- char buf[2048];
- int app, no_registered_app = 1;
+ int n, app, no_registered_app = 1;
+ char *buf;
if (argc < 3) return RESULT_SHOWUSAGE;
@@ -2357,14 +2357,17 @@ static int handle_show_application(int fd, int argc, char *argv[])
no_registered_app = 0;
/* ... one of our applications, show info ...*/
- snprintf(buf, sizeof(buf),
+ n = asprintf(&buf,
"\n -= Info about application '%s' =- \n\n"
"[Synopsis]:\n %s\n\n"
"[Description]:\n%s\n",
a->name,
a->synopsis ? a->synopsis : "Not available",
a->description ? a-> description : "Not available");
- ast_cli(fd, buf);
+ if (n >= 0) {
+ ast_cli(fd, buf);
+ free(buf);
+ }
}
}
a = a->next;