mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-13 11:42:21 +00:00
rm redundant hardcoded default paths (re: aa4669ad
)
As of aa4669ad
, astconf("PATH") is implemented as a hardcoded AST
configuration variable that always has a value, instead of one that
falls back on the OS. Its value is now obtained from the OS (with a
fallback) at configure time and not at runtime. This means that any
fallback for astconf("PATH") is now never used.
src/cmd/ksh93/data/msg.c,
src/cmd/ksh93/include/shell.h:
- Remove e_defpath[]. (The path "/bin:/usr/bin:" made no sense as a
default path anyway, as the final empty element is wrong: default
utilities should never be sought in the current working dir.)
src/cmd/ksh93/sh/path.c,
src/lib/libast/path/pathbin.c:
- abort() if astconf("PATH") returns null.
src/lib/libast/comp/conf.tab: PATH:
- If no 'getconf' utility can be found, use a fallback path that
finds more utilities by also searching in 'sbin' directories.
On some systems, this is needed to find chown(1).
src/cmd/ksh93/sh.1:
- Update doc re default path.
This commit is contained in:
parent
34d145bb88
commit
f485fe0f8d
6 changed files with 6 additions and 14 deletions
|
@ -170,7 +170,6 @@ const char e_heading[] = "Current option settings";
|
|||
const char e_sptbnl[] = " \t\n";
|
||||
const char e_tolower[] = "tolower";
|
||||
const char e_toupper[] = "toupper";
|
||||
const char e_defpath[] = "/bin:/usr/bin:";
|
||||
const char e_defedit[] = _pth_ed;
|
||||
const char e_unknown [] = "<command unknown>";
|
||||
const char e_devnull[] = "/dev/null";
|
||||
|
|
|
@ -106,7 +106,6 @@ typedef union Shnode_u Shnode_t;
|
|||
/* The following type is used for error messages */
|
||||
|
||||
/* error messages */
|
||||
extern const char e_defpath[];
|
||||
extern const char e_found[];
|
||||
extern const char e_nospace[];
|
||||
extern const char e_format[];
|
||||
|
|
|
@ -4189,15 +4189,9 @@ search for the command name.
|
|||
Alternative directory names are separated by
|
||||
a colon
|
||||
.RB ( : ).
|
||||
The default path is equal to the output of
|
||||
.BI builtin\ getconf;\ getconf\ PATH
|
||||
or, if the OS doesn't provide that value,
|
||||
.B /bin:/usr/bin:
|
||||
(specifying
|
||||
.BR /bin ,
|
||||
.BR /usr/bin ,
|
||||
and the current directory
|
||||
in that order).
|
||||
The default path is the value that was output by
|
||||
.BI getconf\ PATH
|
||||
at the time ksh was compiled.
|
||||
The current directory can be specified by
|
||||
two or more adjacent colons, or by a colon
|
||||
at the beginning or end of the path list.
|
||||
|
|
|
@ -454,7 +454,7 @@ Pathcomp_t *path_nextcomp(Shell_t *shp,register Pathcomp_t *pp, const char *name
|
|||
static Pathcomp_t* defpath_init(Shell_t *shp)
|
||||
{
|
||||
if(!std_path && !(std_path=astconf("PATH",NIL(char*),NIL(char*))))
|
||||
std_path = e_defpath;
|
||||
abort();
|
||||
Pathcomp_t *pp = (void*)path_addpath(shp,(Pathcomp_t*)0,(std_path),PATH_PATH);
|
||||
return(pp);
|
||||
}
|
||||
|
|
|
@ -375,7 +375,7 @@ PATH AST CS 1 MU sh{
|
|||
*) CONF_path=`"$CONF_getconf" PATH` ;;
|
||||
esac
|
||||
case $CONF_path in
|
||||
'') echo '"/bin:/usr/bin"' ;;
|
||||
'') echo '"/bin:/usr/bin:/sbin:/usr/sbin"' ;;
|
||||
*) echo "\\"$CONF_path\\"" ;;
|
||||
esac
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ pathbin(void)
|
|||
if ((!(bin = getenv("PATH")) || !*bin) && !(bin = val))
|
||||
{
|
||||
if (!*(bin = astconf("PATH", NiL, NiL)) || !(bin = strdup(bin)))
|
||||
bin = "/bin:/usr/bin:/usr/local/bin";
|
||||
abort();
|
||||
val = bin;
|
||||
}
|
||||
return bin;
|
||||
|
|
Loading…
Reference in a new issue