On Mon, Sep 24, 2018 at 08:14:22PM +0200, Sven Wolf wrote:
> last weekend I've updated two computers to the amd64 current snapshot.
> At every restart of the computer (after the keyboard mapping is set and
> before the network gets started) following message is displayed:
> /etc/rc[430]: > 0: unexpected '>'
Introduced with
sbin/sysctl/sysctl.c
revision 1.235
date: 2018/09/21 14:31:29; author: visa; state: Exp; lines: +8 -65;
commitid: IslDoBJmf7mnSkou;
Stop displaying vfsconf reference counts so that the vfc_refcount field
can be removed from struct mount.
As a result of this diff, arrays vfsname[] and vfsvars[] are indexed
by filesystem typenum. This makes the vfs_typenums[] array redundant.
OK bluhm@ mpi@
`sysctl -n vfs.mounts.nfs' would print nothing. This had been in snaps
but was reverted with revision 1.236 twelve hours later.
> On a first look, I didn't find an error in /etc/rc on line 430.
396 if [[ $pf != NO ]]; then
...
420 › if (($(sysctl -n vfs.mounts.nfs 2>/dev/null) > 0)); then
...
430 fi
`((expr))' is equivalent to `let "expr"' so this reads as `let " > 0"'.
Since rc(8) runs with "Strict Bourne shell mode" off (line 7), such
expressions are always interpreted arithmetically - otherwise it would
silently create or clobber the file named "0".
I haven't checked the code yet but the off-by-N is probably due to
how our ksh accounts for the line number on errors in arithmetic
operations in general. As pasted above, the syntactically surrounding
construct is an `if' condition which happens to end on line 430.