[PATCH BlueZ] shared/shell: Set rl_readline_name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

Set rl_readline_name so the binary name can be used in inputrc.
---
 src/shared/shell.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/src/shared/shell.c b/src/shared/shell.c
index 9b0125579..7c3c2daa7 100644
--- a/src/shared/shell.c
+++ b/src/shared/shell.c
@@ -972,6 +972,9 @@ static void rl_init(void)
 	if (data.mode)
 		return;
 
+	/* Allow conditional parsing of the ~/.inputrc file. */
+	rl_readline_name = data.name;
+
 	setlinebuf(stdout);
 	rl_attempted_completion_function = shell_completion;
 
@@ -989,18 +992,11 @@ static const struct option main_options[] = {
 
 static void usage(int argc, char **argv, const struct bt_shell_opt *opt)
 {
-	const char *name;
 	unsigned int i;
 
-	name = strrchr(argv[0], '/');
-	if (!name)
-		name = argv[0];
-	else
-		name++;
-
-	printf("%s ver %s\n", name, VERSION);
+	printf("%s ver %s\n", data.name, VERSION);
 	printf("Usage:\n"
-		"\t%s [--options] [commands]\n", name);
+		"\t%s [--options] [commands]\n", data.name);
 
 	printf("Options:\n");
 
@@ -1030,10 +1026,16 @@ void bt_shell_init(int argc, char **argv, const struct bt_shell_opt *opt)
 	} else
 		snprintf(optstr, sizeof(optstr), "+hvt:");
 
+	data.name = strrchr(argv[0], '/');
+	if (!data.name)
+		data.name = strdup(argv[0]);
+	else
+		data.name = strdup(data.name++);
+
 	while ((c = getopt_long(argc, argv, optstr, options, &index)) != -1) {
 		switch (c) {
 		case 'v':
-			printf("%s: %s\n", argv[0], VERSION);
+			printf("%s: %s\n", data.name, VERSION);
 			exit(EXIT_SUCCESS);
 			return;
 		case 'h':
@@ -1065,7 +1067,6 @@ void bt_shell_init(int argc, char **argv, const struct bt_shell_opt *opt)
 		index = -1;
 	}
 
-	data.name = strdup(argv[0]);
 	bt_shell_set_env("SHELL", data.name);
 
 	data.argc = argc - optind;
-- 
2.17.1




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux