summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1993-10-24 21:14:02 +0000
committerJim Meyering <jim@meyering.net>1993-10-24 21:14:02 +0000
commit01a5d7d1f98016e9265f47995806fddead165071 (patch)
tree3180f9a2e75cbecb7bf394473cba0e2605a5ea61
parent84eb6ca3776a76341d0a11800993325ce5f3682a (diff)
downloadgnulib-01a5d7d1f98016e9265f47995806fddead165071.tar.gz
GNU shell utilitiesSHELLUTILS-1_8_1h
-rw-r--r--lib/getusershell.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/getusershell.c b/lib/getusershell.c
index 2607535f23..9eb2520b0d 100644
--- a/lib/getusershell.c
+++ b/lib/getusershell.c
@@ -43,6 +43,8 @@ char *malloc ();
char *realloc ();
#endif
+char *xstrdup ();
+
static int readname ();
/* List of shells to use if the shells file is missing. */
@@ -65,6 +67,8 @@ static char *line = NULL;
static int line_size = 0;
/* Return an entry from the shells file, ignoring comment lines.
+ If the file doesn't exist, use the list in DEFAULT_SHELLS (above).
+ In any case, the returned string is in memory allocated through malloc.
Return NULL if there are no more entries. */
char *
@@ -74,7 +78,7 @@ getusershell ()
{
if (default_shells[default_index])
/* Not at the end of the list yet. */
- return default_shells[default_index++];
+ return xstrdup (default_shells[default_index++]);
return NULL;
}
@@ -85,7 +89,7 @@ getusershell ()
{
/* No shells file. Use the default list. */
default_index = 1;
- return default_shells[0];
+ return xstrdup (default_shells[0]);
}
}