=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/etc/MAKEDEV.mi,v retrieving revision 1.76 retrieving revision 1.77 diff -u -r1.76 -r1.77 --- src/etc/MAKEDEV.mi 2005/10/04 18:33:52 1.76 +++ src/etc/MAKEDEV.mi 2005/10/06 06:43:19 1.77 @@ -1,7 +1,7 @@ define(COMM,`#')dnl include(MAKEDEV.sub)dnl dnl -vers(a, {-$OpenBSD: MAKEDEV.mi,v 1.76 2005/10/04 18:33:52 otto Exp $-})dnl +vers(a, {-$OpenBSD: MAKEDEV.mi,v 1.77 2005/10/06 06:43:19 otto Exp $-})dnl dnl divert(1)dnl {-#-} @@ -169,45 +169,34 @@ } # M name b/c major minor [mode] [group] -RMlist="rm -f" -MKlist=":" +RMlist[0]="rm -f" mkl() { dnl -dnl uncomment if multi mknod happens -dnl -ifelse(1, 0, -[ "${mklist[{-$-}1]}" ] && mklist[{-$-}1]="${mklist[{-$-}1]} {-$-}2 {-$-}3 {-$-}4 {-$-}5" || { - mklist[{-$-}1]="mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" - modes="$modes {-$-}1" - }, -dnl dnl non multi mknod dnl - [ "${mklist[{-$-}1]}" ] && { - mklist[{-$-}1]="${mklist[{-$-}1]};mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" - } || { - mklist[{-$-}1]="mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" - modes="$modes {-$-}1" - }) + mklist[{-$-}{#mklist[*]}]=";mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" } M() { - RMlist="$RMlist {-$-}1" + RMlist[{-$-}{#RMlist[*]}]={-$-}1 mkl ${5-666} {-$-}1 {-$-}2 {-$-}3 {-$-}4 G={-$-}{6:-wheel} [ "{-$-}7" ] && { - MKlist="$MKlist;chown {-$-}7:{-$-}G {-$-}1" + MKlist[{-$-}{#MKlist[*]}]=";chown {-$-}7:{-$-}G {-$-}1" } || { case $G in - wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;;_lkm)g=61;; + wheel) + [ {-$-}{#whlist[*]} = 0 ] && whlist[0]=";chgrp wheel" + whlist[{-$-}{#whlist[*]}]="$1" + ;; + operator) + [ {-$-}{#oplist[*]} = 0 ] && oplist[0]=";chgrp operator" + oplist[{-$-}{#oplist[*]}]="$1" + ;; + *) + MKlist[{-$-}{#MKlist[*]}]=";chgrp $G $1"; esac - [ "${grplist[$g]}" ] && { - grplist[$g]="${grplist[$g]} {-$-}1" - } || { - groups="$groups $g" - grplist[$g]="chgrp $G {-$-}1" - } } return 0 } @@ -226,18 +215,16 @@ done } _recurse "$@" -list="$RMlist" -for mode in $modes; do - list="$list;${mklist[$mode]}" -done -for group in $groups; do - list="$list;${grplist[$group]}" -done -list="$list;$MKlist" -if [ "$eo" = "echo" ]; then - $eo "$list" +{ +echo -n ${RMlist[*]} +echo -n ${mklist[*]} +echo -n ${MKlist[*]} +echo -n ${whlist[*]} +echo ${oplist[*]} +} | if [ "$eo" = "echo" ]; then + cat else - echo "$list" | sh + sh fi divert(3)dnl dnl