shells
if (shells != NULL)
free(shells);
shells = NULL;
free(shells);
shells = NULL;
shells = calloc(nsh + 1, sizeof(*shells));
if(shells == NULL)
free(shells);
shells = NULL;
for(sp = shells, cp = strings; *cp; cp += strlen(cp) + 1, sp++)
shells = calloc((unsigned)statb.st_size / 3, sizeof (char *));
if (shells == NULL) {
sp = shells;
return (shells);
static char **curshell, **shells, *strings;
static int shells(int, char *[]);
{ "shells", shells, },
if (cmdcnf->shells == NULL)
cmdcnf->shells = cfg->shells;
shell = shell_path(cnf->shelldir, cnf->shells, shell);
shell_path(char const * path, char *shells[], char *sh)
for (i = 0; i < _UC_MAXSHELLS && shells[i] != NULL; i++) {
snprintf(shellpath, sizeof(shellpath), "%s/%s", p, shells[i]);
return shell_path(cnf->shelldir, cnf->shells, cnf->shell_default);
static char *shell_path(char const * path, char *shells[], char *sh);
char **shells; /* List of shells */