[Freeswitch-svn] [commit] r10959 - freeswitch/trunk/libs/esl

FreeSWITCH SVN silik0n at freeswitch.org
Fri Dec 26 11:24:45 PST 2008


Author: silik0n
Date: Fri Dec 26 14:24:45 2008
New Revision: 10959

Log:
update

Modified:
   freeswitch/trunk/libs/esl/fs_cli.c

Modified: freeswitch/trunk/libs/esl/fs_cli.c
==============================================================================
--- freeswitch/trunk/libs/esl/fs_cli.c	(original)
+++ freeswitch/trunk/libs/esl/fs_cli.c	Fri Dec 26 14:24:45 2008
@@ -260,6 +260,9 @@
 	int argv_port = 0;
 	int temp_log = 0;
 	int argv_error = 0;
+	int argv_exec = 0;
+	char argv_command[256] = "";
+	
 
 	strncpy(profiles[0].host, "127.0.0.1", sizeof(profiles[0].host));
 	strncpy(profiles[0].pass, "ClueCon", sizeof(profiles[0].pass));
@@ -276,7 +279,7 @@
 	gethostname(hostname, sizeof(hostname));
 
 	handle.debug = 0;
-	esl_global_set_default_logger(7);
+	esl_global_set_default_logger(0); /* default debug level to 0 */
 	
 	for(;;) {
 		int option_index = 0;
@@ -311,8 +314,9 @@
 				}
 				break;
 			case 'x':
-				printf("Executing commands from the CLI is not complete.\n");
-				return 0;
+				argv_exec = 1;
+				esl_set_string(argv_command, optarg);
+				break;
 
 			case 'h':
 			case '?':
@@ -387,7 +391,18 @@
 		esl_log(ESL_LOG_ERROR, "Error Connecting [%s]\n", handle.err);
 		return -1;
 	}
-	
+
+
+	if (argv_exec){
+		snprintf(cmd_str, sizeof(cmd_str), "api %s\n\n", argv_command);
+		esl_send_recv(&handle, cmd_str);
+		if (handle.last_sr_event && handle.last_sr_event->body) {
+			printf("%s\n", handle.last_sr_event->body);
+		}
+		esl_disconnect(&handle);
+		return 0;
+	} 
+
 	esl_thread_create_detached(msg_thread_run, &handle);
 
 #ifdef HAVE_EDITLINE



More information about the Freeswitch-svn mailing list