Subject: Re: MAKEDEV prob
To: Patrick Welche <prlw1@newn.cam.ac.uk>
From: Lennart Augustsson <lennart@augustsson.net>
List: current-users
Date: 05/07/2003 15:06:04
Patrick Welche wrote:

># ident /dev/MAKEDEV
>/dev/MAKEDEV:
>     $NetBSD: MAKEDEV,v 1.198 2003/04/27 13:15:37 ragge Exp $
># sh MAKEDEV all
>MAKEDEV: arithmetic expression: syntax error: "0 * 16 + 08"
>
>
>and the only place were I see 08 is in
>
>ugen*)  
>        unit=${i#ugen}
>        ugen=ugen$unit
>        major=64
>        for j in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
>        do
>                ugenj=$ugen.$j  
>                rm -f $ugenj
>                mknod $ugenj c $major $(($unit * 16 + $j))
>                chmod 600 $ugenj
>        done
>        ;;
>
>which has been there since forever.. Ah got it:
>
>----------------------------
>revision 1.11
>date: 2003/05/06 08:10:42;  author: dsl;  state: Exp;  lines: +5 -3
>Recognise octal and hexadecimal constants in expressions.
>- as required by SUSv3
>----------------------------
>
>in src/bin/sh/arith_lex.l
>
>So, that (s/ 0/ /) needs changing in nearly every ports' MAKEDEV (!)
>
>  
>
But then the device nodes will no longer be named as before.
Is there any way to force it to decimal?

    -- Lennart