From 8d4b8f164c79d6e486c06fab40b6a003f0ef0848 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Fri, 26 Sep 2003 23:17:33 +0000
Subject: [PATCH] Show codec enhancements (bug #307)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 frame.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/frame.c b/frame.c
index b2f6736b09..6a4c20b742 100755
--- a/frame.c
+++ b/frame.c
@@ -441,7 +441,10 @@ char *ast_codec2str(int codec) {
 		"undefined",                  /* 23 */
         "Maximum video format",       /* 24 */
 		};
-	return codecs[codec];
+	if ((codec >= 0) && (codec <= 24))
+		return codecs[codec];
+	else
+		return "unknown";
 }
 
 static int show_codecs(int fd, int argc, char *argv[])
@@ -454,19 +457,19 @@ static int show_codecs(int fd, int argc, char *argv[])
 	if ((argc == 2) || (!strcasecmp(argv[1],"audio"))) {
 		found = 1;
 		for (i=0;i<11;i++)
-			ast_cli(fd, "%8d (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
+			ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
 	}
 
 	if ((argc == 2) || (!strcasecmp(argv[1],"image"))) {
 		found = 1;
 		for (i=16;i<18;i++)
-			ast_cli(fd, "%8d (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
+			ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
 	}
 
 	if ((argc == 2) || (!strcasecmp(argv[1],"video"))) {
 		found = 1;
 		for (i=18;i<20;i++)
-			ast_cli(fd, "%8d (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
+			ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
 	}
 
 	if (! found)
@@ -499,9 +502,9 @@ static int show_codec_n(int fd, int argc, char *argv[])
 		return RESULT_SHOWUSAGE;
 
 	for (i=0;i<32;i++)
-		if (codec == (1 << i)) {
+		if (codec & (1 << i)) {
 			found = 1;
-			ast_cli(fd, "%d (1 << %d)  %s\n",1 << i,i,ast_codec2str(i));
+			ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
 		}
 
 	if (! found)
-- 
GitLab