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

FreeSWITCH SVN silik0n at freeswitch.org
Wed Dec 24 07:29:39 PST 2008


Author: silik0n
Date: Wed Dec 24 10:29:38 2008
New Revision: 10939

Log:
make it use long options

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	Wed Dec 24 10:29:38 2008
@@ -9,13 +9,14 @@
 #define fileno _fileno
 #define read _read
 #include <io.h>
-#include <getopt.h>
 #else
 #include <sys/select.h>
 #include <histedit.h>
 #define HAVE_EDITLINE
 #endif
 
+#include <getopt.h>
+
 static char prompt_str[512] = "";
 static char hostname[512] = "";
 
@@ -218,7 +219,6 @@
 	esl_config_t cfg;
 	cli_profile_t *profile = &profiles[0];
 	int cur = 0;
-	int opt;
 #ifndef WIN32
 	char hfile[512] = "/tmp/fs_cli_history";
 	char cfile[512] = "/tmp/fs_cli_config";
@@ -234,6 +234,17 @@
 	strncpy(profiles[0].name, "default", sizeof(profiles[0].name));
 	profiles[0].port = 8021;
 	pcount++;
+
+	/* Vars for optargs */
+	int opt;
+	static struct option options[] = {
+		{"help", 0, 0, 'h'},
+		{"host", 1, 0, 'H'},
+		{"port", 1, 0, 'P'},
+		{"password", 1, 0, 'p'},
+		{0, 0, 0, 0}
+	};
+	
 	
 	if (home) {
 		snprintf(hfile, sizeof(hfile), "%s/.fs_cli_history", home);
@@ -276,7 +287,10 @@
 		esl_config_close_file(&cfg);
 	}
 
-	while ((opt = getopt (argc, argv, "H:U:P:S:p:h?")) != -1){
+	while (1){
+		int option_index = 0;
+		opt = getopt_long(argc, argv, "H:U:P:S:p:h?", options, &option_index);
+		if (opt == -1) break;
 		switch (opt)
 		{
 			case 'H':
@@ -293,7 +307,12 @@
 				break;
 			case 'h':
 			case '?':
-				printf("%s [-H <host>] [-P <port>] [-s <secret>] [-p <port>]\n", argv[0]);
+				printf("Usage: %s [-H <host>] [-P <port>] [-p <secret>] [profile]\n\n", argv[0]);
+				printf("  -?,-h --help                    Usage Information\n");
+				printf("  -H, --host=hostname             Host to connect\n");
+				printf("  -P, --port=port                 Port to connect\n");
+				printf("  -p, --password=FILENAME         Password\n\n");
+				
 				return 0;
 			default:
 				opt = 0;



More information about the Freeswitch-svn mailing list