The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=a797702be077c4671e3d437d6b9ffd37f2e86277
commit a797702be077c4671e3d437d6b9ffd37f2e86277 Author: Simon J. Gerraty <[email protected]> AuthorDate: 2025-10-30 18:09:13 +0000 Commit: Simon J. Gerraty <[email protected]> CommitDate: 2025-10-30 18:09:13 +0000 rc.subr set dot_dir and dot_file in dot Files read by '.' cannot workout for themselves where they are or what they are called, so set dot_dir and dot_file to pass this information to them. Reviewed by: obrien, stevek Differential Revision: https://reviews.freebsd.org/D53476 --- libexec/rc/rc.subr | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 8317ff5c0922..e4ad14f582d6 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -121,11 +121,22 @@ dotted= dot() { local f verify + local dot_dir dot_file o_verify_set off verify for f in "$@"; do if [ -f $f -a -s $f ]; then dotted="$dotted $f" + case $f in + */*) + dot_dir=${f%/*} + dot_file=${f##*/} + ;; + *) + dot_dir=. + dot_file=$f + ;; + esac . $f fi done @@ -152,8 +163,7 @@ vdot() for f in "$@"; do [ -f $f -a -s $f ] || continue if is_verified $f 2> /dev/null; then - dotted="$dotted $f" - . $f + dot $f else rc=80 # EAUTH fi
