diff --git a/src/etc/etc.hp300/MAKEDEV b/src/etc/etc.hp300/MAKEDEV index efe2a4c2..54105a39 100644 --- a/src/etc/etc.hp300/MAKEDEV +++ b/src/etc/etc.hp300/MAKEDEV @@ -1,6 +1,6 @@ #!/bin/sh - # -# $OpenBSD: MAKEDEV,v 1.20 1997/07/07 23:49:58 downsj Exp $ +# $OpenBSD: MAKEDEV,v 1.21 1997/07/14 04:27:54 downsj Exp $ # $NetBSD: MAKEDEV,v 1.12 1995/11/05 23:50:22 thorpej Exp $ # # Copyright (c) 1990 The Regents of the University of California. @@ -70,6 +70,28 @@ PATH=/sbin:/bin/:/usr/bin:/usr/sbin umask 77 + +# +# Utility functions +# + +hex () +{ + case $1 in + [0-9]) echo -n $1 ;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; + esac +} + +# +# End of utility functions +# + for i do case $i in @@ -107,9 +129,8 @@ std) fd) rm -f fd/* mkdir fd > /dev/null 2>&1 - (cd fd && eval `echo "" | awk ' BEGIN { \ - for (i = 0; i < 64; i++) \ - printf("mknod %d c 21 %d;", i, i)}'`) + n=0 + (cd fd && while [ $n -lt 64 ]; do mknod $n c 21 $n; n="$(( $n + 1 ))"; done ) chown -R root.wheel fd chmod 555 fd chmod 666 fd/* @@ -289,8 +310,9 @@ dca*) unit=`expr $i : 'dca\(.*\)'` case $unit in 0|1|2|3) - rm -f tty${unit} + rm -f tty${unit} cua${unit} mknod tty${unit} c 12 ${unit} + mknod cua${unit} c 12 `expr ${unit} + 128` ;; *) echo bad unit for dca in: $i @@ -302,10 +324,20 @@ dcm*) unit=`expr $i : 'dcm\(.*\)'` case $unit in 0|1|2|3) - eval `echo $unit | awk ' { unit = $1; u = 4 * $1 } END { - for (i = 0; i < 4; i++) - printf("rm -f tty0%x; mknod tty0%x c 15 %d; ",u+i,u+i,u+i); }'` - ;; + u="$(( $unit * 4 ))" + i=0 + while [ $i -lt 4 ] + do + n="$(( $u + $i ))" + ext=`hex $n` + + rm -f {tty0,cua0}${ext} + mknod tty0${ext} c 15 ${n} + mknod cua0${ext} c 15 "$(( $n + 128 ))" + + i="$(( $i + 1 ))" + done + ;; *) echo bad unit for dcm in: $i ;; @@ -318,7 +350,9 @@ apci*) case $unit in 0) for i in 0 1 2 3; do - rm -f ttya${i}; mknod ttya${i} c 35 ${i}; + rm -f ttya${i} cuaa${i} + mknod ttya${i} c 35 ${i} + mknod cuaa${i} c 35 `expr ${i} + 128` done ;; *) @@ -421,16 +455,20 @@ pty*) case $class in 0|1|2|3|4) umask 0 - eval `echo $offset $name | awk ' { b=$1; n=$2 } END { - for (i = 0; i < 16; i++) - printf("rm -f tty%s%x pty%s%x;" \ - "mknod tty%s%x c 4 %d;" \ - "mknod pty%s%x c 5 %d; ", \ - n, i, n, i, n, i, b+i, n, i, b+i); }'` + n=0 + while [ $n -lt 16 ] + do + nam=$name`hex $n` + rm -rf {tty,pty}$nam + mknod tty$nam c 4 "$(( $offset + $n ))" + mknod pty$nam c 5 "$(( $offset + $n ))" + n="$(( $n + 1 ))" + done umask 77 ;; esac ;; + random|srandom|urandom|prandom|arandom) rm -f random urandom srandom prandom arandom mknod random c 32 0