From 4a42b24900142b95c2fc0b52dc4eef28b419bf6a Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Wed, 1 Dec 2004 01:28:07 +0000 Subject: [PATCH] Print number of applications (bug #2961) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4361 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pbx.c b/pbx.c index 5b4fa65605..87f0a0db07 100755 --- a/pbx.c +++ b/pbx.c @@ -2679,7 +2679,9 @@ static int handle_show_applications(int fd, int argc, char *argv[]) { struct ast_app *a; int like=0, describing=0; - + int total_match = 0; /* Number of matches in like clause */ + int total_apps = 0; /* Number of apps registered */ + /* try to lock applications list ... */ if (ast_mutex_lock(&applock)) { ast_log(LOG_ERROR, "Unable to lock application list\n"); @@ -2711,10 +2713,11 @@ static int handle_show_applications(int fd, int argc, char *argv[]) for (a = apps; a; a = a->next) { /* ... show informations about applications ... */ int printapp=0; - + total_apps++; if (like) { if (ast_strcasestr(a->name, argv[3])) { printapp = 1; + total_match++; } } else if (describing) { if (a->description) { @@ -2724,6 +2727,8 @@ static int handle_show_applications(int fd, int argc, char *argv[]) for (i=3;idescription, argv[i])) { printapp = 0; + } else { + total_match++; } } } @@ -2735,7 +2740,12 @@ static int handle_show_applications(int fd, int argc, char *argv[]) ast_cli(fd," %20s: %s\n", a->name, a->synopsis ? a->synopsis : ""); } } - + if ((!like) && (!describing)) { + ast_cli(fd, " -= %d Applications Registered =-\n",total_apps); + } else { + ast_cli(fd, " -= %d Applications Matching =-\n",total_match); + } + /* ... unlock and return */ ast_mutex_unlock(&applock);