johnr@runx.ips.oz.au (John Rotenstein) (02/09/89)
[Adventures in Programming -- init cdev] What do you get when you cross a journalist with a programmer? The "Adventures in Programming" series describes the development of a number of public domain programs. Share the joy, anger and amazement of writing a program as you learn new techniques which may save an insurmountable time in the future. A new form of public domain journalism. This adventure describes the development of init cdev, a utility which manages the usage of INIT files. Discover hints in writing INITs and cdevs as you journey the uncharted paths of Macintosh... Copyright 1988 by John Rotenstein Printed reproduction requires written permission from the Author johnr@runx.ips.oz.au (John Rotenstein) --- (This file must be converted with BinHex 4.0) :&fPZDA3JBf4PGL""C(CPER4eFQ8ZFfPd!&0*9#&6593K!*!%'3F!N!5`%&0*9#% !!3!!'3Gb6'&e!3#3#!)63@4fC@jdGA*P,@PZDA3JBf4PGJ!F!RJ!!,#Z!"`b!2r r!3#3#N$ff!!F!TB!![e@!*!((PG%3Nj08eG%!3#IbTT3RmUD9`#3"L`!N!FBJ3! !&4!!N!C"8IjS!"K)X'$"%e3-+L5iBU#&J3d"2!5`BL*%La3I1S")SZ#+MJa"F[6 BFH)+(3!i3,6LN58)L(BmaL3BJ+#*K!YckYbT-iJa&i)+*$*35LM4J3++#3%!U+C 6RP#M5YdCK)bG-QlSe*&6CJk)0'j!3*(cjSbF-'hDJ$fMikZE0(4!M#&6aNk$"NP !S!P$"N3B0RI#j2%D1'ZC[R6Hb18DKNiC[h,TfR%"3NLGZ(RGe#dM4bpI%'IH[1R ,H-kEX)P"N!"4E*Tb%$111rpP``,bh,TI[FkT!`I1QcQ(3D3@mpKdQq*[j-4pB`B %eZ4YhY5C`bB2L1PPc04K)ac0@K"h[)p"!b+2G,q!"4-1NeAZkDY[XG+TlYG1Q$4 X`SKK8kBfHm5LJG!'HpEGCSGABi5"R@eNh8('GmaeppJBTp&"&RG`X&F''j44J3C Rf5Ah'&c#LEB'#-Bp4NFDaefA&AiJj%AA''R3e4G[TpNQ'AMLNAGFA'd8+!GFR+8 4"JJ4hT%F(GjT0XFF,M6JiB3lJJ@#Ef$&PFBFY89)i9E!e5B0@#3D1!eP5@LTQf) *XX&IAm3PZ##*!lS4aKPGaHK%%P68CU"IE[3P"4&&@!%##'EJea9P8p3a(U++HK8 '9pF""kGe6$iQ64*l8J(#$$'!d%3Cil'hC4[6q1A9'f-N1%FDTmeQ(9GQJ1M''-& CQB3EVp)PDKJdC[8EH6PQL+GA59M4JJ`ef!"SAmV18)--88k*)SY`m)FSX'TfeaL Nr+hD("ej`*%R0Ccb@8eYe"KBcE-J8$0SSHqL30ah8p!aU9C`e$C%K4H+T5&hri% `""UL!GGCSZ'#`08FjSkaiPA9TH!AT@AJJ4CBKp9Qj9p`l%AFLQdL+3GGFY4Q4R+ !@THZT`p,*`HZ#&CiRfCph3&ANa+fJ@CcZcekC-aEiHSF(P[5`H9AhE,a"Pr"&C` aUCFG9Zf(5,T"Af#BXTBB()$Ub5HLC,8"JY03jab'9kRTZiD+@$2mQ(6,MB[e()- jC[E+E+"-'4*[h,&CbYeYL4lAAKh(APalfI&GDQqA!ADQCUFB(SM#PG''EfF059r "*!BQ+3KZe,%PHdDR&Ye9i1EjFD")ASCNFf#08GTDp18R"jiSjUdjSQrdc4Q8)(M Bf!Q%I8JTQA(p1BGMF(J&eYA&BDXYel2l*A%DpUhSaKR`dX8Ypieppl,dE,1jerG `Pj&'Cq5Dfk(b)A*9fmXJa2R'F8[2)9KYH1M8$L+$'rha$`4iN!$-!1GP+!2Q#3q %XX,m$%G"mA%R6JS#MYJm"DU[R-%0)Q,EKpT3QdbpldTN-3YDe2)pprLUB%5E@Ci QpCJk#-Y4(b+$If#A+55Ckb`VbT(KbV!fr-aUF+rD6aQLe#LKC@imEiP$(4iMZZZ XL!eEbP9BJV#f0G4'$0BC3K&!-!AQd#%`A2PEi!CA3UbGCN4K`C0QcX+G"ce[5'+ i$+c#XL@2KF8-h0VK9pa8KM2m"35R+)1qh!-(ka3X8l35N@VHN!!R%-D&@h@3!0A 4NSDQZ&34L-T$NG2Z8*ZZ4-a)EV,1j9"$2r"JVNl@NC[d@&NFhqdYH(jV!2-)D!F "XHG1H8S0a-S3R"l#J5`d%aH+L$Lc*S&[CCh"A`aTPMrV4!i1hcN5F$)%a-GJmAR CXp-")b6,%X8VBf0J3ahSmLibE19aGf2QH1EAPFH8NiE#+9FDfN3I!b9[Rq5K8&C Z4MV&5,-V-U0CEB*'RV9*+&j0N!!1F0jP)-S)`CV%a'B,Q@5iEmD&0qBN3f2kijB bl8KREVS5Ck"TYZKJc!b*ST&mUN-pppa+FRAcj4UqXmXrC8Na4rU63`@A8SHbCi2 JF@KUX+)IEC9c1)mCArH#`c,aE@qU1GXCh4c@&AdT"jk2'G"i1%DC*c6R5h))dd0 ,aEj9D3e6BALEFf"+UN[#KM-2e3`Hi[)`Vp+"-Nh!BID-QF+cT18l&2+9PAU)[i, j9(TdH9'ESQ5CZ$bR$QFJPYdH)`CJVF%XdJR8$[[bdiFbKQ"@NFp@`MV5)If&RXZ 69(S'!jRR*FFka'P5Aijdc,)BGV5a5fYZr#+'V8,e$'"*4J13!"!'al@3!$KBH@K d`%QKcI%($dM0bejb0L3k1!BeLK'TBpViQ0kUd'a[%)2M*0V2$!DR45"d$Z`LC#( T+*'HT#-QJ"C$4-G!4QH"#KcCpJHHREd1UBEMLK6IPkGKdZL3!-a$jHQ#'"EkBUd *`2VT(0"!Q5Yi4eZlkY9M-"bXa'`B20,TQfGBCjikj'p$DGJ-diDVQ@41UQYbQ8f -hN+()jc&$2IMX4%UY,4G`H8+B&R0(BV-ie'96P+`-c)GL)$+XLbYKaDk$(N-ak4 [RBBq8NCbJ*F-,bP6q5p@TM'TZZ)r19J("3kP5faB'"``3LC$B(PHA,r6ff31eV8 %JaeRb#+(&&Kd3M68$RG@L54)EY!VD)06r4l6iV4qN96ZPC!!G3CNRFBpCM@D3G( qjVECNUlS,a2HiiZK5HRc&+c5519d36fCR"045!jFN4KpFX5H0cJDEmrlRFkBC&b %DI"m0HfY%Xd@(S$'k($UFCJ0V`1f1phXHE9"Q1#Z3VJUGMNZ244VNkLBBMMY6`a q!6I@T[Y4[8E--BKK8Cj@1EJ#MjN`Q,-5G[#,b80LU6hID[DMHQLlY4'V99[K5Xl +M4l6b'9p[-X4%4r9ehfjjUkGbCL&0"G@q4a5$)aCJj,$8V!"2BPlMrR3[VD&RpA H$e*f5U9UYN3KEKGc,eVU9S4i`qk[E'j*U&14BT`fKK2T'(q*IF`d&e8mlhMPQ*[ *LJJIJcmcP1h&hd%"9e+`ZZ$3Qp[P1FpU)(-FPqDK"9R#bUYBpiBIPLp($&89Im[ A`L-"@-Ri*E''!mSBadcGhNSQEeLiSK8jm-UFX$D[BARNE-2&efRXkmcP+09$[3[ Va"ae`aUN&jF0-j`iP*	lB6PaDd`!H9H8)6K"##"J6"NU%FN!!DURUkhV`K5mG T6i*DC(8#Tr-hB!9mi$UN'#RkHX4rS4!Ec'D%XbLX0KN#jeMN,5Sb"EXc%3V#G#b %kM#)L3PTU&95jq#'%`#*L1f"UR2@PSFcJF$$@+RhNDJ-XGq83Fa+(RpZGY-ak3* Vh#Lf(HE@"ZL'!MCN24aR'+6&+eQf2DGKD#"3"2!"'82J0-#"I`+Q*!+B2qIQ'Nj !"*!!J33eFRp*0Ra09ejNX@ck&h9DS8RFKb[le80Ri$5Ga4hfi9T+"!*%d"9V!$K [X!C4!RqD!AD9Pf'A4akDF4MT`e9NF"Chm&"d-3GVm$@eN3H+Y'U54#*U8!HEXi3 p"%*b-#$F34Ck&'UT-ADQi6'@T6&dpRFl+)8qH#)cQ&k(G)0'NS23p&"mdB4XPMe $3cFF`hL2SM-E&Nb+m3EF0L5q`P&2KdaXKPpR8!Hd&4k+-5#qBRNQ4Kk&!@mcTRj (TA&FF4cdB3EAP3Bj#'akSdEEaKRNC4e$L&HXjMp2H$lTpP!VFKbZi490d"Q"*3F KSdS-YaYRF#ad8"[Z0#3EK6Ai%c*V!cH'BiG005*VFKcKm5df4"H*JM0jCi5CH#A E`3DV)MY(96[*N@ZA4!Cmq#5eXB9GD%iN8M#pY6RcB4d2XLK5!P4fF(Z)iA4Z)9$ `%@-hY9$@8b$m-5N2"Bhhp@b[BPfU4"EqpBGP+(560'2$4Kjk&LL6dKG*9bPDe'L KG(H"d`,6B6kG3MaTNKXkd!#(dQH(X9S'``Cbm)CVJ$!rZ!-Uk4CB&'SJ3!)d)!0 #J!1e33)`%!3f-!3fq33hp9!J5@D#3bP+)JFlp6hNT6dYL#'&Y8+)aA!Jp)4Z8el jJ5ZZ!6XZ99l-")lC3iLVB6D6BRm$CMD-k%1FmACZ8%+L89-HP6fd#(A!SB$Qe%2 Bd4Q')dGabBN9q9!I`JCJBf'2!AlJK'&fJLHGJ3)K0S+r8Q,$%L2+`L`j!)%RD6K (`Qfaa"9Pd!)X95,")iMNX4TjdR1+k4NRJf*3k4CcjchJ8c"fP#f#m4dH46c@JSd +`JCaFCGNk$dTpam0iaKlP68dGB+CNjb'%hf@!J+1Fb5mGAZ')4Z`Fb6mm6e-!LN E3JC4dR`%"J9VdbCUU'BfjQEQe&Z1md*ABTfaB8iA+9+[LCbHe#2$C9X+*j[j)JI -8J2!%iD0-8(S`eAj-6%EBKd,Q5dN9A+#m@+6&'UQNC*--!@+0!3E`JBS!!8@JJ, *33BS!!41J"CPB$%V!!)aN!!#YE'GCm!N+$#Lak'L%S+KEN*HM%N(+@#6eV)AVmP 0c60UXm49&K*McJ8qpYQ@$h@M[r+BV)LDk-PQ0rB9cF&E3c*9Cj-d01CV)2!fF"! AGNCB[S8@))!#!VGP6bFDR6%G`*3pCAGE%1KKLR*Rm)PA"F1LhCPNqp3B,21FC0' HrEH&i+4Y1FC(APTHXY0C4HF@UG'IraQJ!d)(2b!P@(1N3e4%p%&i3l)CI6'G&(S %&jUK'pUK(aUL-&UL)(#L+@UM@0'LD%"H0%SE%R+M1GS!PD8A!LC-9pK$GNSHB14 IqKNeIjFSDH@PHH"ILi8eM&S$!)U3!2ca!c(5,68'THUC'R[i-*`RGdI5Uir"V#5 94i8U*aT%)SEcCGEa4YANAj!!G`Cq0(0da49*f6CB!iCL+##+K$"p%5(kQ8hR#NF 208U`HDrMSL6lkK8S%"VUeKJr)+-1a@9BibT8Y$-J!(kCT66Q%KcN13IQ#4Q!*&F Mq#,N)L$E"k&VmbSI9%b+d80hY"C4%MpPF*1(XV&P`!5VbL488#k2d30AiPP4JfZ #X38ai!)Z)!0GN!!pfQU60qLbfr)f-XZGD-#KRG%@AJ#c5mZU0@XZ0UPFKr+bF4@ c-pZd&U)$25#L*'U6@CZdA-Zd6ZX&2MZdB"ZVADZMr#J'*1)PSc%KI6G$ljPfm(1 bFI-qi+5YrM%k@FCCaFTCQ$BRhC)K4GGr8Q-R5R5YkSFbf@%V-!J[E)8Ri"NMQa9 E,A-YeS9A2f+[!6T*m04(-A)#Zp8EZ@BNrU9bb&LEa58lF"%P33"PUM+#jkN@%`Z K6pQGZ8GKhb'SU8%h1IPTfI'EARSCLF%Vq(9Q6J-qMJP-J1N9Ef%dPj9CjZ3GkQD mJ%4kqD1m1F*SSPGi&GBC4A#G`k@AP[*&XJZYDrBN8GSf'IT3IqQNhVUm9*P*-XH `h)Zm"1S@,#@AZE'ZJ#3aYB&F%eL4ZX)VP)Q*`m+q6F-U)p8AFIGY-qDCXb8p2hG b1CJD4$G52"*GiLST%U1rp*'%0Q*4XV19YLJ(@MCFA(%9If%e!X-l5G!#0!!$0i! LkT'5@3X&@$%&DD!(CB!#-e!E-c#V@4YLLL4k%S-#YjNIHH$%a3J#1&`E1+c%Kp* m*#S&S88'9!c&@i+E8eaAY4%$0R$'0M#V(Q)i64J'C%C`j9KAX6-IJEL@erK3pjX MMI-G85`B9#ahF1%9aB8(P!%&"DP"L!YYJe%Ye*H([HCSbXBIEC!!$)GL,AI*TrA %PamcFfJ'2S9-'6FU+C4L55LL,aMjQN65"N&k*!rbb4aSb#FB5IEc8"%P8QcJ['A K(QPKQj4%[9Uk2Q5J,E[CB6JA8QrJV&P`(PqLBSQK,c,AA2SS+U2a&lUXVYql[@( 4BQI$PMd%QU5c6e&e'@r3!Yk4@9JdX4"5DVlT[AY-FV"cDqC)EH+ecP"BC@G!ZfE ,0*Uc8)*P9#"3"3U6*[dmU""U1rd90E"cbpD-c`@@8Pc"1IFCIf!h`R+"4BZE9CQ RLQa%cEKmcC0859VDEc*(H&Y"5ql4!Km+&L1P6!5(d9i%!S#k[IaX0YVl[iBcdc" R6bcccN[MV6cb,IUa9EXCUCdjGE6m'0%+[p2+*Q(3T5lC3b`),hK#da'&(8331'& ")5Tp-LcYGeK)+3bGb`jGeC+5FrqE)'&"("&+Z#SP"bce(4)S(d&J(c"L3eG8@kD M,cNieD`b"Q"#'8Z3!&'fdAEP@QT6,Faj)(JjPP*MIFdrip%0$F[q3eY(FYA!NG9 h%"Cld4[aYi!2*G#F3G!Np(#NFL*5$4pm45SILN*e!5[6d9j3VA#8NGAP&aI390A H3Y0F[G*f!YEi0)Fe#&`pT+64#jPFY@!2dmdPdpYHrG[fq(Uq&NSV!JH@((jKjf, i9'q"!4IINBGqU6$QP%llK0VV*P'F"ElJC92H-dAq,$6*%eerR!II)3e"%,Yd-!d YJ%8Fk`B"6''b'955BBbRBAi"UYZT`8mJi+Pdi!3D0pF!"c[+eP6@-3@f4!9Ga(M AFaqdf5@3!%5)c[JpZ[(2LB-9,[Cl43GPI4&B`*N'4T!!C(LP*,F0Qd!)!N%!'U* "'S"SKSSa*h13!*)4h9p)5dBAhN80J0F``Z!1[PF36JFSd!DDl3BB*SANeH3@8c! SN!!T6Hi#e4JA2)"kTH-Q9JkhKS05LmEK,T,APihH8BiN#'GTjA'&ci-IBbJj#6h -"D*M&KjXEB$K8JJ[5Uja%DMDP!(KD`8`TjNKQX%G[#&HVU-dFJ%Q,,0K6cdKFka Vp2K1bCKJGViL&0CkVpFA,"c*SH3rL$($%&aJhANNRGe)m[8Jhd-C5K#bM*BAa)C CD%$6LLHQ9C50@j*$BhSc"[k1'5aU#HXIQB0VTUJYH33q9I4[R%JhaNc4H)@bYK- mh-%NA)KZ986H'5fEM08Tb(1Pf'E,h(LCa8@!0"cU&,Nf-aiN,Q5ii2SB'F-Yp)' b*"V[00k4"#FC&aHIE5"B9VGp3+4U8L1pA-8ApMbCPhMZ'cD9NbaXF8CcL!JLqmA @T)jAGS,V(b[FG6JTGmJI0F@Y1RJ@Ca#(Eme5L50Br2dB-KQ(drk+RC%LQ3FqEQc bQ2[H$68k5fNbYAAY+DAY"$L9`aQ)d'kbe96bGi,bKX0201cJKa%Z5eMCjiR"$RH 0fF%aZp9jIX8ER@63E*dSH&"R#TSBV`X#4%`@XNN%*Kq(A5)(+FQ5arJB&4L6E@m L0JN@aEZ62IQ633N$1@!%0Q#6CI6UImFAUZf5%6)Q2-C,lUGGEGGU,SB9XfFGllM bm2eX1*FVIp8!d3!#5[!'D"!@A[aG`3B@Gj%%NE8L-5@A+HPkUC89Ui8XB6%@BAT B,63#-p!@258C$8!%)p8@-6!$)1!%&DrZR4%$1B!$10!!rp*)3l+lbXrm54rkS`m #TDpfMS(k33$4D6#aA[%`R(%9C0!!aSp#D8FDNN-@lZ5!*1FQDk64##-l2k3@*jF MVDPpa#B(Gf(pT(pm$-KpZ)%'!!@H3'9i!pJ&MG@!hfGIY)83H&"1B!TF!4!J!f# !$'Kq3D!+6!%U)!@#!"0)!N%J5M!!(L!!`N%2)!T%S!3@J4,i$eUJ#hb"-$!'bN! A1""U3JdX!3-K!6##("J*"S)$B!)q%!d-"!J`$)EJ-KJ)%D!))-%Q-"!Q3"9SJPH J#B+"*JJ(QZ"-Q!#'B#"3!*B!!#L!'"J)&8!D1)3)-"!ZJ%!!!"IJ$I3"!,!(!-! DI)-!S!j)"qRJ"Z1J(33!"3!3))#")!%+!!$BJ`"!!J3!)"!!!%%&+)0[S!b1Jc* i$JB#"R!'MP!-!J!-J!iFS6XB#"Q!!'$#!i!*fm"!f!!Ti"0'K!h3$`B#"p!#!b% %i)08k!m'JJKi!+k3!!+i`L``%%J!-UL&d'!JP!"K8!I[3"c`KEi3!#6#1!!!J#% aA)-e%!Mi38$B"r8J(bb%Ka!!l%*GH!5PB6E3KGp!&ej#!'!#T-"!1!&6i"[LK"1 J(JB$!-J$!-!66S9eb!lAS4m%!J"!!'#!CFJ(mb!c")3f%!!%!"bS$dd!8J!%!f% !Q)'"3!$F`%!S!)&J)"J!8$!3$N!Q'!J)3")Q!()`%"5!333!$'!I$)3(S!D'B$2 JJlqJ#6j"!$!",L)@e))-!!ck!$!S$I+!$A%$-$%QbN5Cq")0SJ%J#)F3(J`!JZ! ($f)!L)CKF!b@33P3"XrJ"DL#Na!56X*TJ!Ne)3$)!)!`!l3!62J#-'%5k)3$33- FJ8pB#P-#,%`*-X!8SX+8!!`'JJIJK!$J!k"&%"!5!B!Ua!0`-5jkPlP)"q4LABb ,H#!J%S5E#!B"!$bB#+S`&Ii$9rJ943!Y"!!M)#8#!"+`#h3K,l5'fR!JQ)!I)"Q MJ'6dKYc`#h,$-5!C&i&N&!@5N4K)4Qc`$62!AVQ,F,%Z[Sd[3"Hp#aiN#!XJ!24 %2#J!!#&Yc)Nl85(L4,p)&!(!#FJ!he!$I%-9m!eV`$HmLVk4#Zb"jEJFfk&cI)l 3F4hQaYHS&`(!!G#%%!!!l%3$N!!ERi)h8!Jh`6U+`aT)%0+JBrb'B3!!2!%!!!8 !J'A8KcK4%JC'h`JFNb-!m)EK-#'-a(LS(3'!*P3!!+!"!)#0!!Zc)e'8KBI`)9` !Y`J!4%"dI*!!%$*#5XKf#1K2!!!: ---