cechew@bruce.cs.monash.OZ.AU (Earl Chew) (07/25/90)
This patch fixes mknod and mknod4 in the Minix library. The problems are: o mknod() Requires an extra (surprising) argument for block specials which specifies the size of the device. This causes headaches when porting programs (and even for Minix specific ones!) because the extra argument is left off causing funny errors --- and even system crashes. This version of mknod() accepts the more usual three arguments and (silently) forces the size to be zero. o mknod4() This is the original four argument mknod() suitably renamed. o cpdir.c Copied block and character specials but didn't copy the size information! Compile with _MINIX and _POSIX_SOURCE. o tar.c What a mess! I hope it gets cleaned up during Posixfication. Anyway, I've hacked it to record the size information for block and character specials and to resurrect the sizes too. This behaviour appears to be Posix conformant. Compile with _MINIX and _POSIX_SOURCE. o mknod.c Changed to use mknod4(). Compile with _MINIX and _POSIX_SOURCE. o fs/open.c Check the size of the block special. Those running Bruce Evans' 386 patches will notice that test8 will now fail gracefully. I think test8 might even work if you recompile with the more robust mknod() included in this set of patches. Bruce has already fiddled unistd.h to have mknod and mknod4 prototypes. There was some discussion in comp.std.c that extras such as these should go in another header file rather than overloading existing ones. Earl ------------------------------------------------------------------------------- begin 600 mknod.shar.Z M'YV-(T*`>"$FC9L7<]`H&`&""IHT<T!`!!$&1,(R;-A0E#/FH9TR+D"`D%*F MS9N/%-WDH?/0S1D08LJ8>2.G#`B6$]D8+,/B)IHR;D#4<0,GS)@U"R72@9G' M8A@[!E^F66J0SAN*(,RD86,SC!LR-_/`B0I"1,*L6\N("-GPZLDR<N[(F6JS M#!Z(=*(FU<IU3D\Z8FV:18.6*X@68]:*S/*F#H@Q7BFRF7/53)DR8'%&#!-Q M#AVO9,+(`6L03IVE4,,D'9I0=$^:3,..=5GV+`^^:GN"/..";1(S/B>*[I@& MY<0Q;]K`X4J')X@\C9/>V:IQSF6?-F=F?#.==ILR<^:$.=-U*<NZ7W4L3)!` M1)&O(-X`OYAQ(_&/+D0D'?+&37/_<^@@TAAPD)&&'"X8"%P;:[CQ!ADNC`$" M@PY"J."$#3Y(0X3QP0%4@FD`]QF""B9UA1QAP.$A6&(T-489'95Q!Q!BR%'' MB_$%=05F("A1AT8RU``"##GH(,,-.L0P`P@QY)`##`I`$0052/1`D$$ZO%#' M'')<Z4:66W9YHQ@@[`""77#0M)245"H0XDW@+=4"<"<0:"")(9YP6$4BD+!' M#'V(`$((/92%F*!FGA>4`B+!B,95K<DAX!74@>#@4F.P\888,<EQYEV>D84; M"%R(4&>!!X)HQ@FE*H"1=:YV!"D:H@E8!!YTH#A&7K25>NJ=JK(J*!<HS$!# M#3<\1JNNS<DQ!Q<I*&`=6&:]X`46+[P@J`^_IJJ@GCSP<$(13A#QQ1-&?&%$ M$DP4<8("6*@@[V.H(A@##&,D,$482_FH$0C)QF!#DC/H4$,.3#H))18M-$PO ML/E248=-_H(@`PT6%SQ##09CW.23\,HK\L@DJQ#RO#+`P$*0((P,;\,M6*SR M##(<!C.\(HU@4*9UD&'3;6/XQX8+:/B`,P@ZN\&SSR#PX)F!;Q!M-!8BP;L" MTB'Z#-P7323A1!)86(VUTFST_+,8FAXU1QIZ@%2TV"-HO1,(32SAQ!-$H``' M"TVPT`8+<Z2`884TZ,VWWX!'B\75([Q:!MQRNV%3W7?GO7???P<^^(.&8ZXX MXT"5N#@(1\<MT]QU$Y&$%#&4Y>4+#-ZI']5(1S[Y$JI+4;,(6G+Y>NP'SEYU MO"47;S+Q*C`9)`M*MNXR[>R]B8)G_$Y?%$L]F>"9X#P,J;A(["5@!K]AL(&" M")"Y<<)2Y"TU*O5T;!D?<"7,(4)/<UR/1@H['!T]<"B8'AU<X)DOF(1I)@#! M%+Z0!",T@0J"(Y0"&6B$W('`!`GT#`'I\`4WZ,0-:P"!#YBD.(&$3WH$^N`: M!(@__?6$#/H37`\*%0/!(<<_!IE8_Z"7@#E,APX=`8$`-VC`!]DD@0MLX`,% MMP?_)4`D`^*,39)8P=6IAX<)L-.!4*`].K207VAX80QW"#,FT8QY,\"!S1KF M1.G!SWI@S-[VFN8])XJ/?.9#GU?6!X+V%<8F\).??$!0O_M99(QM!.`0"WC` M(TY0B1`<5*&H:$$,6F2`!?2@04(XPAK"RX3_$V(*-\E%SWP1>R"`(1AE2$,; M]H=7.G2B#Z<2Q$5RL)$7?*0#(]E$'D+Q,5+49>ZN"#[V:%$.I?3B(>.82D0B MSWC/$YG%8H"#E<G`!BT3F?_@,!?_F.%\R(%#4_('HS24[X^$C(A5TID?_+V0 M?]OL)AV^*:@FA$$--(&=06!3J!*0X07^;*?_?@G%_+7`!P4<31GL(,(15O.0 M!TVHSQB:0!C$X`8W@"<63,C-JM"3;D8$03^CQ@4W&-*@"+VE$34J$)'TX9-0 ME!Z%.$>&%D94I3ZS:4J_H%`[]`0&W/,>"'H)/@_)00XT.=],R2`"C8+/06X8 MWV?R.`2O7.HQ->$7(#TT!G-J9%3U<T%)#4D&IT+QI0QSF`R6)X,TKK$%\?0H M.-\@SD.6\YQ@5>=5PGK2=^ZPJ/+\J#WQV:4V[--3_?QG0.\W4()"=*<];2@( M'HI2B2XTEQ;%*$NQ9@:M@8!K7@,;3!TKDHYZ\WP*9)M-^LD&"!D2!9IR20HJ MR\&UM6VSC?M*B&":`-/.$[5-".E(Q6I2G3)RI3ML*0C0JEPWPN&F7["M34H` M`B$PX0E#6,(7II`$+11!DG7<*`@2`%6IEN]\];.(:B42D:M6I`T_RLMR;#)( MZV)7N]SU[ECQMUF12(]R>$-!31][W)P2F(,]-6YM5?L"^V9WN]TM0E"!.M1M MP@6IR!3!4IOZU_&6%X_GJZH;KCJ&K#;'KEW%:UK8N=]4FM6E)X-F-%$F@VJV M%6//@S'MCC9*$+)PF:A4)4M*>$D;[>J2_+IDASLBFI;ECYDJ$#(:.DQ4*+X@ M>4@`C6%PHTY:+44T-E'A'$)"DOC)P0T1@8%$@#,J^'H&)C8)9QHPXX*7J94& M*KL8-F$&5]JA=7@#6@XI30GD,#9SE3#UC)&7`C\GTV')RW*R"ULF92H?3217 M!D&6O[+EM'0YR6`&@9C)7`8SHWE(:T:GFY<2D\?0=<X0BK&,Y17CC-GX6-FD M]8YI)Q(5`F4IA6I!##HLDIEX"@5I$.F0S)3L[FD2A'-@]@I6P$3>2D_,6TA# M%Q)TV1E>DH@3Y>TO+8EM;;M@GR(ME`8+N,_OC3<!OO:/LM-`[.5>.M6PW>2O M15@H"N^!/9E.`AU.L!DV9)4,33$(=D2]R9N$`6TV44&VDG>'QZ4U9D'*,[+> M>K1[QQO8AQGVO8TMQ&3WF]ET?/8:HBV1:5=;O`FX]B;GD.UM3S3=EX1NN&$^ M[@26>]OH]K9GH-MN)WY\WO7^<TP!>'0?])N)`$^>P`DNF8,G/"CG83@('0[Q MEDT<!!67]:QK'209K.Q@N3X>^&IB:A34<`=1!P$1^L/'7#5EG>%,^%(D?N\^ MG&DR-OEWW.VYAJX$Y==RN/K"5<AUP_`=>M)3>42<3K<@8($)7EO"%`1GWCQ2 MX0U7:8-7FB)FBBRE?BV6\F;A/?,M2-[FW?YV`2>:W/%B^_7G=I"RU\W!?7:8 M]=!VO9BWK3]EBWX[8Q"@'+CB!@''$`17>[O_9!Y\W!??VTZH`A.8X&[V=/Y\ M3@@]36SR'9,DWO3I3+TSRWA-&JSL!JWCL__87H<SNYU_<9^[^LQS?KS35>]> MUW=_9QU#%3Z91GB&=R;^<7X*EW6,]QE=]WC@$WFE1WE-8'F8YP2:QWD@)@*? M%WJCIW4KAWZH5UR'-F2U!WPK)WPS!WL,I6YTH',+E8*W-WRY=Q4P2'0.\GLU MV((N<'T34CYIHWS,YWRK!'TD]'O4MX+6!T8XEWW;UWUW-%7@)WXU,2$E01-- MD60E2%:(1"[F@B[JPBY%X"8B$B<@8"P;UP*2`P)@<`<2@AA-TRUXLBI@D"@_ MX0:,`D6.,BNU0BJF<DS!4BI"011&47A@\4.$(1?]\1+2%0(*H!5)$3KS`P)T M&"R1F`9F""=O-B>6N%01HB<MP"=^`BB"(D$B<"AE@AV+TBBR8A'+,BF50F*: MPBEP\2EX(2HKYBN@.`;"XBJ`%RN/`HM_>"NY8A2\\A*\F"$0XHN$2"P"HT9, MQBQP\2S1,BVU82W8HBTB=`*]""[B`H;GDB[KTB[O@@5)LS0_HQ-B(#7P`B]0 M4`76E01#(!'RME0HX`9A\!T]T4@]$09D0`9R@#^JI3C3V#+Z^!T[5!438D3_ M&)!RL$-51G_V!QD9T08Q@`)&,`4]`6!$T!-%F)!ED`+]Z)`4`9$](9(]@0+3 MJ`(IH#(@\#5,\`500`52D`(:]5+B*(;E6(9OTAQO%HV'T89O&(<2(B[?>(>L MN(>N.(R1(B#+6"&A2(A#411'P2.*"'9(11N/F(F3"!^#Y(W,&(I>^9-HZ(EB M*97?LB=E48J!`EZIF!BKJ"BDTY1^*"D@0"GU08N;TBFX&"JT,2I1^2"#J!^. M(XQW:2NXPBQD,9@6DB?/B`(X``/),HW(6(W0(BT\4BW7DBW;DI:$N9;A,B[E M,HYC:(ZU!HKWDB]3,!0]\B,BH48Q0`,&$P-)(B0?LS!EU(OZXIH5,UE,@B1* MH@,TDS`@\TQCASQ,P@)"\CQE%`/,$W\W0SN9ME2'`1-UL!5@41'DE&)?E1;L M$02G\2AX&01?T114X!5`(09A4`=M$("[QCA9(Q.?U35?$S:C8SI:T88>V3F( MHSE+53B7\Y^?@S2'F9^V0S=V$V`#FCF"@X\-6J"Y)3I7<S2B9Q`H(!IG,`;_ M*`=G8`?NQI`:.@:0UF0JH*%VL`5=L$.S-F/)TR1GEW;W)EW*A@(GZJ$I*@-= M@',G(`9Z\@.F]P9ID*$XN@4UT`6"(R!`56\R=4^PT3UJQ@=\,"&'14<4QIYD M@!QMT`8H\&*I%'M")'J$U33=@P.",Z6&Y2`1.5KXAH\HN@4QT`4E:6`319"W M9:6"8U08IE3,R&'W9A=3@0)+>C1*9V<85P,L,`/2R4:\IEYM4Z,W^J%;H*,\ MZJ,@`*3\(J1$*JE'FJ3>PZ0`)*9/BFI22J5JBJ<P`9!:RJ5>>G.%$J9.ZBGA M,EEG:JHT47O^!4#]^:9Q.J?.4:>..I*HJJ=)I6%]ZJ6`2@>":E:%NI/D2(:; M")1+,9G)PH8V492'<92@^9AVB(=`P91G\HI/"8C;6IB%:)6("'93L8A;Z8BJ M!8F2R!"4&):@^"UE>8:=2"<!&HILV2=_\I:HJ(K>VHKAZI2QF)>S^`:84HM^ M":B`^1*":2K[ZHR&&8Q]2(QX:8R,V2L2RXP;0K&DXG8YT#J6N2N8>8V;.0?: MZ)G=.+'@2)IA^*RHB8X[4S9,PP/LZ([X&8_S6(\,&:#YN(_.X8\G*9!V.I+P M<I`J()(+>8\F"9`"N4.LD09G(#FD(6_2)9%'0Y'-9Y%L@)$:R9$*6CD@"11! M^QTDV9`&!K4#:2E"NY(M.5NJU1,R29,VB9,[I).ER9/0:I9!.;)#>:UPF*US MZ+)*J2C@>K'CZI@?*RSG>HA8N:Y:V8C!"J^:**]@J:\>2Y:2Z+=R0B=T]2%K M.8IM^:^G6"AQB2BL6)<%FY@(NY<*^Q@,>XL.FXSHY"NAZP:%"8RPHK@'J['( MV)BFDKOF"HV9I2RB<9G.DIG8R)G;^)G$*YKAN+<RZRZU1KQCX`+LN08)8`1S M\9H:H2098R0#(P,(DYN&VB$?DB_>FVP5([YM1;X&HV;HBYPR5FO'PIS.HTV\ MI@(S]+\`',`"/,`$7,`&?,`&+($@P+.8Y[/R1@9O8$#,V*5'TTL"D6E0`!?& M]IY9AX\JJ;;.P;:",P=YX!DE`4P9$1(*?&\U<09X<8N-]`6L-A71=F]36[4\ MPI!9F[[Y6P.+VF=0Y+\(/,1$7,1&#,`*S,#T:(]+`<$27"$43#L6/!#)D\%R ML,$+Y\%O"\(/:;3!.L(EW!SOZ;4J_`(=UZ@M_,*>$L,S3`<UW*@W;+5,'*PL MVJ*Z)DTU@*@VH&;.Z3!YS`(V4#/RUZC28QE`A`8=)+1G6P;0Z;;?$0-?P'QG M@$I-4$/@]01+(#A<BP(7]@7(X3->6A!N7*.XE$!)\`54D`50(&$@,*4H4,H@ M$`3;QS5X4P13D$MF\%P^D,M?X)Z<L09>2J.%@@)QG,/^(3@B*0,[=#6Y*D0T M*D%J9DFO'%*FC,JJS,H2=,H.AE^K/`1)(,N:7&KUUWSD\@148%V9;"9BT\S3 MLUXC=(%8<)I%0)-/,`4-=ET/EE^LO,E%X#56`,[U9AJ]5R%ED(\RTD%&1,S6 M(0=?,&FB[!="I`?]408=)`>"P[8K*1]F(,-RVS8JL,T0YEUXR\+B;'^=_,DC MV6%Z&[/R'*UH>"\7%;AN.+AR*"[1FR>'FX>)*ZX'B[L>HKO?0I6&>)6)*+F, MR)7OZI68"Q9A>=.K<J^<^+F6."+!TJ]N>;J&(I<#R[J^^X=ZJ1%\:8N>4KNZ M:!B^0M5!7;&]R]/%N)C!R['K(QK%BP).@E'(2XW+B[+4HK*=R8W<@M9Y0J8P M:YH]>8[21-6KJ2])]IL!,S`S4#!K99RZZ3!4'3$3`[X6@S'QJZ@Z``/85+]V M?,?S0@-F1P/)TL<Q0]HL0`-J-,A!+!*BQS0?A"G)L1QA8!`1T1<1@0)/$!05 M(0130`0@L"%+0L(FW`8IP!Z:EX8O<"\O@`,Y<&G)(Q0$.$AW`B-6D7C%HLF- MP2O@$3X)L-PST-PP\-S1W;\BX3/,P2-;0E_`00:)W`;,9Q$8@=VP,4B*=B-- M?""_IMRW3$WD;=[K/-US4`<JHB:;0P:%(P/)#=X)4`3U>`,O(.''&<3275UU M<`8!<N$@\!%R(`9O0("X-!%751-I(@>V>T-K8\+^(7;WJYPV,`.`K$:H#0(V MX'XWL&?3F3.VDP!04,]@\P5#\`1-``5Q]^/<135:>CUI$(%F3#OZ.3>Y`^%4 M\`4S$'?MG4K\O2M:N-T@@%2GL1,1L<+Y.9];8Y^B5>9D8S9-@S9OH#:JI;., MDZ#]V:")D^`">C@."C<'.N>GPY\+:CEZ?N<0JN<2&CJ[-3JE8^9RMSI4;N6+ M;@9?09_`301'DVF?)QD:D:9I@`?478T"DFS[:!$TD7@OM%`8$;J9\1`1,18P MXMZNQC3]01$N#DVUA@,RC@,TSK]E-+(LD`/5NN.U\^<V89-54`0)$`.EDZ!& M(,M3@.P+,SQ^OI]39)-><P0AC>Q!8@,)D&F*1A9B4`=F8!F>0J,*'.5MB`1% M$`1$4`12D.T)<,[XO`3+3NPQ&01-,,_ZG`!.@._Y=>G)@^XV`=)"\`154"Y! M(`59\$0I8S.6$KL*A^1@,RCP&=K'(TU*D@/,@VLY1CI0GJ!UJ^[L[NX)$$`B MW^Y2T#*"`U3U3NTQR2YV*P7L$4!*N_)$)O#5->_P+N_W=<8\;N]F4#8)T:7L MX5LH4+<U>9-G_)RLS3PU@#&N[?$_[_(AO^XH7_(H</+NKO+A-?5S@_0V.?,L M&6DN&5X"@?,\G\\1%N_;[//#[O)!OR5H0/2])4]'#_-)[VZU;CRU-IO5%`-/ M+Z.TPY`C\@6=U6&9-@21MB7C408JJFPB4`7B01X",B(@L`5C@"L[.B*CL@5< MMFTB8"8*?)",3QZ/C[J2W_B5WV28K_E;8`=OT`5;8`2R;P:;+QJ=__GY47L' MF081'.[C#A=;`-+ZO*(\%FGZLP7]GN_9;ORT<Y#Z(Y+*C^_Z'F'.[U_R9FPO M8OAL,![*!@-DY#"`?P/,$^,<-_CR5OB'#_`@H/A-5OJ.OZ.H/_EEL/J>TOIT M</M7O&*>[VF@+_I/;D`L/OIW^LI"ZJ-\#N?^9;[\]_IBW^RK??HO]_F_W0=3 M>M_O$W?D;@ND/?QB_4J4ITA^RZ_Z>9?K=]=`0/036M./^16_#L.0M!]%"WK> M[^3LO>+1]VZ`RK@HV*3CQ9:7<$,\G+(R*RUO;KBYHQ!=5`O10S;'3(BPI/[@ M`U'`3P!(<,$%E)].(06+8-OH"=?%"6"[5+;*!`<7X"U7`[8T(L%!_"+,=;)D M+T"([$`RJ//TF=ZC'1<FJ<R!1C8'&-SQ,U%SL">H@#H8_F+&1=%XU$1(1+T= MZ&K<0!,$@A_/W@W!-6`%"UIR0X)T0'#0/"8(%Y35$_09"&(*1L$VT`BQX!/0 M@M:L"Y(*,*@&QV!#*(/>Y0P*CC0H!F7+*6R#$>8--HJC(@?IH!U\?F0O#SH9 M938#2T:M450RCF8LB8[''FI$&0@#:^#W_!+(0(!.P`PX`<1DO"S#8'(":``T MY"TQ!X!X.!!G';C?>!AAN2(J-#2[!_:D``O`ANR!H(B`]-*=O(JJB57IQ%9Y MBBYT#F%..B0H3O`88L($`?Q<`&#P$##P)7@;9_BCT"%I01_+0GD)"@$A`A9A M4ZF'H.0>0I%+&`7)0#^<***J;5%$$G$1%TJ:H@EFI1AFE6386*)(,X0!T+#; M)0^-E@:\TP(#<E1#@3T1*,(,;0(,T`$J43)0!BR$0R;:U7J)20X^E1&:87:, M!=03=B+Q&))$Z#$-F^$SC(8ST23:A&IX#>VA]-B&(>X%=K\S\')`B0!L,M(% M^&G`_-(NG,`*B%.U!QN*!$6C-,1).VL;P*\G;$1^*.X(R-QJ"&217*R>F1@6 MQ=U8["YE4?XM&[589,2AT2N'$)&S>!;0<I_08504">NP,W`5=]AFX&%Z^8CS ML#.L%WH(4QI',+*'$A$RLL/)J&(,0T:,AY@Q_127SHCHS(!!Q(=ST2+6Q7\H M$[8BCWJ&E^HUJL.2U2P68EEPB"3),1*4V-@1[4!&3(S@;3CJPXI8'#$C<@P? M!*4OFH'50UKL#0\QALA0&=)$:H@2<6*F88DN4>+%Q``H#;<C`;J).;%\[,3O MT!/E6,2#B14OM/U"&N!^-@8?XU\BH<J(A#1FPCP%0UJ$$:%0+,)&V*4Z#)NZ M`P_!,*```-DP)"'L2P-EY<OI0Q2@_@:,[_L"P(_<]014*&%4FMNS"\=H5Z`` MW*`XAJ(-0%0S`/Z<O_Q(TEQ8?YQC`%+9#$CI4B#/F')!D"MF0::-E=,@A<B# MC)`'AT**!L-G(2]@\&M;&S#;,:L/Z=9$)(GLA23C%\*?1(4#3AM^)"TUT1(] M10.4/'CC+6J'YT2!.98L215Q8MQ9A"C&'<K$*18]'MAQ3"7.$8092!Y"!D[C M,*L*KL005L)\"`4Y8EW$B+&J)WB-*L<%.Z03J9-5ZDXFP1ZX)XGCG_2(AT50 M.@%"><U"8@+`)</,49H!?Q@8`N)M_%&Z9`@@@90G(*@(.MN+,F6"X09?M9+J M)#R<56ID2B%*-96V*(RW\3?H\"K"!6ZH%;]A870)X[`JW+V9E/2>(W3\)1H& M"L9#,/F=3*-EC`BID3."QL<H$OCD/I2-FY(V>LJ!B!M_@'!T+`@Q>9DL.>`; M&^*.?(B.D5IJ2FYC'`,E"%B7&/&P6,H$X,1DQ1UH/B3R]R0`I<,>N%8?3$,Y MH+1%MJ@W)JGAEHP[7K+<D4:-("8)"IFTAF8R)Z))9@F?P`>;C#ENTEW.2IK` M*ND8-CQ(TO$O:H&R>!9)X*&TDR5G45)"%&<MF>.C;)>$15)2RBZH+S<F8DF9 MD;`0-D%X"2G5E,P,A8:2AV!*(;(NM:5MY):@DHJ(2E*I2TYE"NHAN:(MYH&W M6`;BXKM<CGYR4TJ7GD`%\J(3V(LALVL"1G(A&,$?-D0A*],28DVZJ#7O8A;< M@I62D.2\^Y+MP`O+`XW?#E@>1KQGDXQE=52'5T`TN(&H("#2BWN9$/$E#<R7 M2L0A]XMN_)O!"OB!S?6B*'/F$M23+'-=;DT0\#:!YBJ<FVI/I#W-_Q+H1F1: MZ)@"YC3"RE8&)^7ET6(E0N5B9D,?N2NSHC?DBK_R#`1+_S`L8UYBU!F=A3XQ M1K"1`-*E.HQMTT4RWI5F27Z>I3Q<EIOQ6:Q&\>(9K4/QG);4,EDRC=&X/-_A MF+J,54I:GKW6^"U_2<O,FIP2(![-0D$0<^.T/(@)LUP"1V,9&J]FGV2;[/(X M&L]?PC.-8Z3<GP5%M4A.?4DO(YB]Q)=IP5+RRP3@+Z&DBQIN-<`&K#8;*/CV M8QEPD<U"U%"N%@&4+`T:NZ!J;([5!,^`JV#DC@R0.%,2+LB5`!Z04"O$G1Q2 M%0Z$4N@*.20B_"6Z\L/9SH#8??*F[MR;Q+)OEH7ZT1/\B</Q$##AA+:859E$ MW]S*N:%0!$<J2`;9`KKB>$$!/S*<`:01B53^AD0PDAH2=')`T<E;1BC(6:%` M28304!@*"T7:I1*C=5-`0$+!P4'!0PIJ`W*!+E#(-]`3+F2&A`LK:9UXFPHI M.(!4#!409C0DUM&(T`*&V1J4D"2T[Q`J'N;K:@`,$(3"CC]F4$*X2#WH+]&D MMX@AF=$2^A]/:(W"DTIPD;K01YHD]9D,986LU(;.21RJ#6MG-^2A_L.'[DYE MA1B'*$0SHI\!B0+()7HZFZC:@*(B08K:!!WI1.=`CV236%1(`<D):0:Z:!\% MHX#T%=)--YB"S&B-4J4CY(4*CE8:"]\H.4V%<A25=E+>@D?G0G/8H]<40V+` M;+I'<0XA-:>'%))&PM^C2AOI&@UGD;11*1VT8O%JC0^3H#4@LG6\9)H@ERD< MR!5TQ`3,14V8"3W93U`;[FD+#$J@B:1:QD.5`]-&V>B)$S!+H<A'539S$0T( M)`RY(TNH,A4B)[5[2-2UJ5(9VB(<?FVT"'14HP!]"H4*^*C3IJ1:4%-#$4C4 M)+TX(""/0:<\%NP8U2]YJ7H#HLK4B5H2J"`GC!$8M0UHU$G)407'3\T5(95] M6B*A:@(A:J%(J2MU$;K4A@I3I>H%0:LV=4=J0`ZY4R7$"O"I0'4%D%6N550] MI/VR=3".!FB\$VDE=4W.()^-JBE.$0J"SJ!BT>R41],26<,4E$-YY>T$A]WD MAY)#OFD.#:((.#C&-(1,E):8/(/0]X26X5-Z,A9[6&R*:?]\DZ]57OX>76KT MJ&H;L*H6%4:L'/?4$]9A$B@+/0&K[E96%1+;J1ZMD'"+[`F.F=HGCY9\.)\C M#7I@QZ581FP`#L!Q,$"0";L)E>BJ8Y8TE4Q@"3C6M8DMTV=MC(&2E:1:FUJJ M0V_I5K2B,Q%D"E"_*#9')KDHF6F1YQ09J4DUK:;FO(OUM2Q2Q\A)7[UFV4Q! M:S$<ZLW-&D0[*_5D=,,3/T7$L@!:T>1HQ1&7T7E&2\WXJ,2G@?J,$_:SZL/0 M^J6@`H:%EAHVM3I.ZHE8O>(?D8ODM3FZR]CJ,PGL=$Q!_)*VVCW;BEN%:X'S MHKX5N"H+W?ICNU1QS:/O%+F*$N7Z5K&F<_TF&S&Z@H_I6L?L6*VY`=>$!=R` MXK10<^<N/9]2L*INPB)B8(+L28E!.P6642:,DE'JC8X5ECQVS&:G`6-F\0>: M+2!S-I@I6,T*9]<F1:V"+HS.EH#?>F:A2Z#M+_A&@$`76$9%E@C.H2)2H`@< M@1ZZ9[]LG*VHFW,=,@$A.W1VBG1!5I\1?+!%`C$U_^L5+`LPP)`$6+WX+S$* M=+H!.."'S:A*6UO]K)BMJ$2KSN:<-$O-A@2;;;.S-K-:6EM[6^4LA.RM@Y;3 MWED.DF?=+*W=L<06MP9:9$MH[:RAA9"(5GIT1@B+YB0L:5&TO!:!Z!)'ZVW` MZQ)H97R`->H6URA>'`NX+3".I-%&DG)+02+MI,VES[;/WL\_RPDS;0G8M(76 MTQ:D>G.@1&W4)+5@MKQFVE3+-;VF1BFHR@G6DK\;D`.&X974CQ(2@]XBI752 MSRI-3:LMU49&4;8:5655D[V?-96E.E&<NDVMGU?-JR*5"Z!$OPIH3I(:V!(< M!,0-A="@W4JDP\!U$O2Z:E>G6F$^J,;U%!S7K-K/?9ARU:K(9:@Y,J:>7*8+ M<E?N.=6I+Q>L7@WV*7/5JY]Q>P#IYA80G?L51,/45!P05YK@@)3!`M9N#KR2 M(L$J3!65JS:"ZE$='@+A('4W@<9R0Z=.[3!&3]$TN)S(9%P"CU@G6>YI7)@O M!T9N$4N(#$^CN]F1EG$8B$"8)(^@%.GFPESQ+W&`#=!X51*3$MVXJ[#*!]U= M.7;WZ^Z:O!MI]NYIF*LYE00&WEPQ>#--X24/F>$J)%XZ@`D]!8HX#Y[B\0:% MR'L:)F_R:`&6EV%B7A#Z(I66HJFR+>K6&8NV2P/VEV$]*_<&JNY!VEMTP8?K MI0/99M+A@6DC&+<O2-6KZS5E^@Q/YVUL:-$%)4BVH)F=^'`:!-J&S*F6TB"L MW^_W>Y2.CBDCNB[7/8D5B7T;E?85O-UWO'S?\+M^R:^R,;^IUX1(#_UK%W#. MU86O"2#^HH#Y^WVYIBQM(^*7__H/_VL=T^Z\\+RY[O-6T`1L08]N"50!P*^A M<=Y[XWS3APQ>4^VV!(K%$-C\ZHW2TE`==\F:J.6JH=[8+REX3V#3<A/NUT?G M9*^+`69G9+4V88=Q,^\+CL$?U0?G0AN<A=G401*+4\#:@<(52(/)'A!6NF-O M"%^0(EQOD+`29FA!KPEW'&?5TCP7"*AKU8HHT31M!=BZU5+Z)5T-+YTUN9;6 L'A=14U<L87(AM;9AN;X24Z,3??A=2*)`;"LR%RS""!IA.'@$D.`J[L)2@!+6 ` end ------------------------------------------------------------------------------- -- Earl Chew, Dept of Computer Science, Monash University, Australia 3168 ARPA: cechew%bruce.cs.monash.oz.au@uunet.uu.net ACS : cechew@bruce.oz ----------------------------------------------------------------------