[git commit master 1/1] forgot to add libbb/get_shell_name.c

Denys Vlasenko vda.linux at googlemail.com
Tue Mar 8 20:02:42 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=f8416dc6f64244223fbcb20fe504b7a9a764e698
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 libbb/get_shell_name.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)
 create mode 100644 libbb/get_shell_name.c

diff --git a/libbb/get_shell_name.c b/libbb/get_shell_name.c
new file mode 100644
index 0000000..c930afd
--- /dev/null
+++ b/libbb/get_shell_name.c
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2011, Denys Vlasenko
+ *
+ * Licensed under GPLv2, see file LICENSE in this source tree.
+ */
+
+//kbuild:lib-y += get_shell_name.o
+
+#include "libbb.h"
+
+const char *get_shell_name(void)
+{
+	struct passwd *pw;
+	char *shell;
+
+	shell = getenv("SHELL");
+	if (shell && shell[0])
+		return shell;
+
+	pw = getpwuid(getuid());
+	if (pw && pw->pw_shell && pw->pw_shell[0])
+		return pw->pw_shell;
+
+	return DEFAULT_SHELL;
+}
-- 
1.7.3.4



More information about the busybox-cvs mailing list