From 6cdf51f58f44663c49c2f1bf18bc275e82f2e547 Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Sat, 29 Apr 2006 00:15:28 +0000
Subject: [PATCH] move the "show version" CLI command from cli.c to asterisk.c
 so that only one file depends on version.h, and thus, only one file has to be
 rebuilt when version.h gets regenerated (issue #6942)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 asterisk.c | 23 +++++++++++++++++++++++
 cli.c      | 23 -----------------------
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/asterisk.c b/asterisk.c
index 90bd912021..bb4090649e 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -224,6 +224,13 @@ char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH] = "\0";
 char ast_config_AST_CTL[AST_CONFIG_MAX_PATH] = "asterisk.ctl";
 char ast_config_AST_SYSTEM_NAME[20] = "";
 
+extern const char *ast_build_hostname;
+extern const char *ast_build_kernel;
+extern const char *ast_build_machine;
+extern const char *ast_build_os;
+extern const char *ast_build_date;
+extern const char *ast_build_user;
+
 static char *_argv[256];
 static int shuttingdown = 0;
 static int restartnow = 0;
@@ -1271,6 +1278,20 @@ static char show_license_help[] =
 "Usage: show license\n"
 "	Shows the license(s) for this copy of Asterisk.\n";
 
+static char version_help[] =
+"Usage: show version\n"
+"       Shows Asterisk version information.\n";
+
+static int handle_version(int fd, int argc, char *argv[])
+{
+	if (argc != 2)
+		return RESULT_SHOWUSAGE;
+	ast_cli(fd, "Asterisk %s built by %s @ %s on a %s running %s on %s\n",
+		ASTERISK_VERSION, ast_build_user, ast_build_hostname,
+		ast_build_machine, ast_build_os, ast_build_date);
+	return RESULT_SUCCESS;
+}
+
 #if 0
 static int handle_quit(int fd, int argc, char *argv[])
 {
@@ -1431,6 +1452,8 @@ static struct ast_cli_entry core_cli[] = {
 	  "Show the warranty (if any) for this copy of Asterisk", show_warranty_help },
 	{ { "show", "license", NULL }, show_license,
 	  "Show the license(s) for this copy of Asterisk", show_license_help },
+	{ { "show", "version", NULL }, handle_version, 
+	  "Display version info", version_help },
 	{ { "!", NULL }, handle_bang,
 	  "Execute a shell command", bang_help },
 #if !defined(LOW_MEMORY)
diff --git a/cli.c b/cli.c
index 8aa7b8ac23..d46368491e 100644
--- a/cli.c
+++ b/cli.c
@@ -51,14 +51,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 /* For rl_filename_completion */
 #include "editline/readline/readline.h"
 /* For module directory */
-#include "asterisk/version.h"
-
-extern const char *ast_build_hostname;
-extern const char *ast_build_kernel;
-extern const char *ast_build_machine;
-extern const char *ast_build_os;
-extern const char *ast_build_date;
-extern const char *ast_build_user;
 
 extern unsigned long global_fin, global_fout;
 	
@@ -292,10 +284,6 @@ static char modlist_help[] =
 "Usage: show modules [like keyword]\n"
 "       Shows Asterisk modules currently in use, and usage statistics.\n";
 
-static char version_help[] =
-"Usage: show version\n"
-"       Shows Asterisk version information.\n";
-
 static char uptime_help[] =
 "Usage: show uptime [seconds]\n"
 "       Shows Asterisk uptime information.\n"
@@ -390,16 +378,6 @@ static int handle_modlist(int fd, int argc, char *argv[])
 #undef MODLIST_FORMAT
 #undef MODLIST_FORMAT2
 
-static int handle_version(int fd, int argc, char *argv[])
-{
-	if (argc != 2)
-		return RESULT_SHOWUSAGE;
-	ast_cli(fd, "Asterisk %s built by %s @ %s on a %s running %s on %s\n",
-		ASTERISK_VERSION, ast_build_user, ast_build_hostname,
-		ast_build_machine, ast_build_os, ast_build_date);
-	return RESULT_SUCCESS;
-}
-
 static int handle_chanlist(int fd, int argc, char *argv[])
 {
 #define FORMAT_STRING  "%-20.20s %-20.20s %-7.7s %-30.30s\n"
@@ -941,7 +919,6 @@ static struct ast_cli_entry builtins[] = {
 	{ { "show", "modules", NULL }, handle_modlist, "List modules and info", modlist_help },
 	{ { "show", "modules", "like", NULL }, handle_modlist, "List modules and info", modlist_help, complete_mod_4 },
  	{ { "show", "uptime", NULL }, handle_showuptime, "Show uptime information", uptime_help },
-	{ { "show", "version", NULL }, handle_version, "Display version info", version_help },
 	{ { "soft", "hangup", NULL }, handle_softhangup, "Request a hangup on a given channel", softhangup_help, complete_ch_3 },
 	{ { "unload", NULL }, handle_unload, "Unload a dynamic module by name", unload_help, complete_fn },
 	{ { NULL }, NULL, NULL, NULL }
-- 
GitLab