about summary refs log tree commit diff
path: root/src/misc/getusershell.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc/getusershell.c')
-rw-r--r--src/misc/getusershell.c33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/misc/getusershell.c b/src/misc/getusershell.c
deleted file mode 100644
index 683158c8..00000000
--- a/src/misc/getusershell.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#define _GNU_SOURCE
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-static const char defshells[] = "/bin/sh\n/bin/csh\n";
-
-static char *line;
-static size_t linesize;
-static FILE *f;
-
-void endusershell(void)
-{
-	if (f) fclose(f);
-	f = 0;
-}
-
-void setusershell(void)
-{
-	if (!f) f = fopen("/etc/shells", "rb");
-	if (!f) f = fmemopen((void *)defshells, sizeof defshells - 1, "rb");
-}
-
-char *getusershell(void)
-{
-	ssize_t l;
-	if (!f) setusershell();
-	if (!f) return 0;
-	l = getline(&line, &linesize, f);
-	if (l <= 0) return 0;
-	if (line[l-1]=='\n') line[l-1]=0;
-	return line;
-}