Author: jilles
Date: Tue Dec 27 23:35:10 2011
New Revision: 228922
URL: http://svn.freebsd.org/changeset/base/228922

Log:
  libc: Eliminate some relative relocations in getusershell().

Modified:
  head/lib/libc/gen/getusershell.c

Modified: head/lib/libc/gen/getusershell.c
==============================================================================
--- head/lib/libc/gen/getusershell.c    Tue Dec 27 23:28:01 2011        
(r228921)
+++ head/lib/libc/gen/getusershell.c    Tue Dec 27 23:35:10 2011        
(r228922)
@@ -58,12 +58,6 @@ __FBSDID("$FreeBSD$");
 #endif
 #include "un-namespace.h"
 
-/*
- * Local shells should NOT be added here.  They should be added in
- * /etc/shells.
- */
-
-static const char *const okshells[] = { _PATH_BSHELL, _PATH_CSHELL, NULL };
 static const char *const *curshell;
 static StringList       *sl;
 
@@ -261,8 +255,13 @@ initshells()
            != NS_SUCCESS) {
                if (sl)
                        sl_free(sl, 1);
-               sl = NULL;
-               return (okshells);
+               sl = sl_init();
+               /*
+                * Local shells should NOT be added here.  They should be
+                * added in /etc/shells.
+                */
+               sl_add(sl, strdup(_PATH_BSHELL));
+               sl_add(sl, strdup(_PATH_CSHELL));
        }
        sl_add(sl, NULL);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to