root@hobbes.UUCP (07/16/87)
[This was sent to comp.sources.misc; I have split the sources off and posted them to comp.sources.misc. ++bsa] Here is a routine which does wildcard expansion for MS-DOS. The shar which follows contains: chd.exe (uuencoded) - compiled version of chd.c glob.obj (uuencoded) - linkable module containing glob() Have fun, mail me if you have problems... John Plocher UUCP: <backbone>!uwvax!geowhiz!uwspan!plocher ============== Internet: plocher%uwspan.UUCP@uwvax.cs.Wisc.EDU FidoNet: 121/0 BITNET: uwvax!geowhiz!uwspan!plocher@psuvax1 *-----*-----*-----*-----*-----*-----*-----*-----*-----*-----* #!/bin/sh # This is a shell archive created by yasa (1.72jmp). # Run the following text with /bin/sh to extract. # # Archive: /usr/src/new/dos/cd/wildcard.shar # # This archive is a complete distribution by itself. # # Packed under system5 by plocher@hobbes (John Plocher) # Packed on Tue Jul 14 20:13:11 1987 # YASASTART=`pwd` echo x - README if [ -s README ] # exists & size>0 then echo "shar: will not overwrite 'README'" else sed "s/^X//" << \!SHAR-EOF! > README X Here is a routine which does wildcard expansion for MS-DOS. XIt could be spiffed up by using the regex routines by Henry Spencer, but Xfor now it expands DOS style wildcards (*,?): (This is also found in Xthe file example.c) X X X #include "glob.h" X main() { X char **names; X names = glob("*.c"); X if (names) X printf("The first file which matches the wildcard: %s\n",names[0]); X else X printf("glob() error number %d\n",globerror); X } X XIt also handles the case of "/usr/pl*/bin/*.exe" where "/usr/pl*/bin" is unique. XUnfortunately, the code does not handle "/*/*/*.c" type expansions. This is Xan arbitrary limitation which is left to the student to implement. :-))))) X XIt also does not handle "C:/bin/*.exe" - the drive spec fouls it up, XMS-DOS seems to have problems with the find first/next functions in the Xroot directory so "/*.c" may give you problems. X XThe shar which follows contains: X glob.c glob.h - the actual wildcard expansion routines X example.c - a very simple example of its usage X chd.c - a more complex example - implements chdir X chd.exe (uuencoded) - compiled version of chd.c X glob.obj (uuencoded) - linkable module containing glob() X XHave fun, mail me if you have problems... X X(PS I am not actively using MS-DOS for now, so this code has been sitting X"on the shelf" for a bit. I saw a few comments in comp.sys.ibm.pc concerning XTurbo C and its lack of wildcard support, so I figured I'd send this out.) X X John Plocher UUCP: <backbone>!uwvax!geowhiz!uwspan!plocher X============== Internet: plocher%uwspan.UUCP@uwvax.cs.Wisc.EDU XFidoNet: 121/0 BITNET: uwvax!geowhiz!uwspan!plocher@psuvax1 !SHAR-EOF! if [ "`wc -c README`" != " 1638 README" ] then echo ' README may be bad' fi fi echo x - chd.exe.uue if [ -s chd.exe.uue ] # exists & size>0 then echo "shar: will not overwrite 'chd.exe.uue'" else sed "s/^X//" << \!SHAR-EOF! > chd.exe.uue Xbegin 660 chd.exe XM35KT`!4`!``@`.@`___7`@`(R5ZK"P``'@````$`_`;Q`:P+``!P#P``P@\` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM``````````````````````!5B^RX'`'H<@J+7@:#/P!T#O\WZ,8#@\0"B8;D XM_NL&QX;D_G8`@WX$`GX8N'H`4/^VY/[HMP&#Q`2X`0!0Z!\-@\0"@WX$`74O XMN(T`4.@+"X/$`HF&Z/X+P'0#4.M!N)(`4/^VY/[HA`&#Q`2X`0!0Z.P,@\0" XMZS&+7@:+7P*`/RUU%C/`4/^VY/[H8`&#Q`0SP%#HR0R#Q`*+7@;_=P*-1H!0 XMZ.D)@\0$C4:`4.B-`X/$`HU&@%#HZ@.#Q`*)AN;^"\!U/8,^H@[_=3:-1H!0 XMN+<`4(V&ZOY0Z-8)@\0&C8;J_E#_MN3^Z`(!@\0$_[;F_NAZ`X/$`K@!`%#H XM8`R#Q`*#ON;^`'4'@SZB#OYT"HN>YOZ#?P(`=#:-1H!0N,P`4(V&ZOY0Z(@) XM@\0&C8;J_E#_MN3^Z+0`@\0$_[;F_N@L`X/$`K@"`%#H$@R#Q`*+GN;^_S?H XMLPR#Q`(+P'0BN.0`4/^VY/[H@@"#Q`3_MN;^Z/H"@\0"N`,`4.C@"X/$`H.^ XMYOX`=5"#/J(._70'@SZB#OQU0H,^H@[]=06X!@'K`[@5`5"X(P%0C8;J_E#H XM_PB#Q`:-ANK^4/^VY/[H*P"#Q`3_MN;^Z*,"@\0"N`0`4.B)"X/$`O^VYO[H XMCP*#Q`(SP%#H=@N+Y5W#58OL,\#HA@BX.`%0_W8$N$<!4+B(!E#HSP>#Q`B# XM?@8`=!3_=@:X>`%0N(@&4.BX!X/$!NF$`?]V!+B$`5"XB`90Z*0'@\0&_W8$ XMN+H!4+B(!E#HDP>#Q`;_=@2XY0%0N(@&4.B"!X/$!O]V!+@H`E"XB`90Z'$' XM@\0&N&H"4+B(!E#H8P>#Q`2XJ@)0N(@&4.A5!X/$!+CQ`E"XB`90Z$<'@\0$ XM_W8$N`L#4+B(!E#H-@>#Q`:X/@-0N(@&4.@H!X/$!+AY`U"XB`90Z!H'@\0$ XM_W8$N)0#4+B(!E#H"0>#Q`:XJP-0N(@&4.C[!H/$!/]V!+C&`U"XB`90Z.H& XM@\0&N/X#4+B(!E#HW`:#Q`2X-`10N(@&4.C.!H/$!+A(!%"XB`90Z,`&@\0$ XMN&X$4+B(!E#HL@:#Q`3_=@2XA@10N(@&4.BA!H/$!KB_!%"XB`90Z),&@\0$ XMN/$$4+B(!E#HA0:#Q`2X"P50N(@&4.AW!H/$!+@E!5"XB`90Z&D&@\0$N#,% XM4+B(!E#H6P:#Q`2X4050N(@&4.A-!H/$!+AI!5"XB`90Z#\&@\0$N)H%4+B( XM!E#H,0:#Q`3_=@2XR050N(@&4.@@!H/$!O]V!+C]!5"XB`90Z`\&@\0&_W8$ XMN"P&4+B(!E#H_@6+Y5W#58OLN`0`Z)8&5U8SP%#_=@3H*0J#Q`2+\$XY=@1T XM#X`\.G0*@#Q<=`6`/"]UZX`\7'0*@#PO=`6`/#IU`4:X+@!05NCW"8/$!(OX XM"_]T`\8%`%;H'`:#Q`*+QEY?B^5=PU6+[+@"`.@U!E:#?@0`=!TS]NL,BUX$ XM@#A<=0/&`"]&_W8$Z%D)@\0".\9_YUZ+Y5W#58OLN`(`Z`,&5U8S]NL-B_[1 XMY_\QZ(`&@\0"1HM>!(O^T>>#.0!UYU/H;`:#Q`)>7XOE7<-5B^RXE@'HS@56 XM_W8$C89N_E#HU@6#Q`2`OF[^+W1I@+YN_EQT8KB``%"-AO+^4.C!"8/$!#/` XM4(V&\OY0Z#4)@\0$B8;N_O^.[OZ+GN[^@#\O=!2`/UQT#[A8!E"-AO+^4.C, XM"(/$!(V&;OY0C8;R_E#HO`B#Q`2-AO+^4(V&;OY0Z&8%@\0$C89N_E#HB`B# XMQ`*)AG3_ZQ2+MG3_@+IN_EQU!<:";OXO_XYT_X.^=/\`=>7'AG3_``#'AO#^ XM```SP%"-AF[^4.BJ"(/$!(F&[O[_CN[^BY[N_H`_+G4PN%H&4(V&;OY0Z$8( XM@\0$ZQ]0Z"0(@\0"4#/`4(N&<O\%`P!0BX9R_T!0Z(H'@\0(C89N_E"X7`90 XMZ)<"@\0$B89R_PO`=<KK5(O8BD?_B(9J_L9'_P"X+P!0C89N_E#HR`.#Q`2) XMAN[^"\!U`^E*`8N><O^*AFK^B$?__[9R_^BW!X/$`E`SP%"+AG+_!0,`4(N& XM[OY`4.@=!X/$"(V&;OY0N&`&4.@J`H/$!(F&<O\+P'65,\!0C89N_E#HUP># XMQ`2)AN[^_X[N_HN>[OZ`/R]U)\8'`.LB@+IN_BIT)H"Z;OX_=!__AG3_BH)N XM_HNV\/[_AO#^B(+R_HNV=/^`NF[^`'73B[9T_X"Z;OX`="CK&X"Z;OXO=!__ XMAG3_BH)N_HNV\/[_AO#^B(+R_HNV=/^`NF[^`'7:B[9T_X"Z;OX`=`C'AG;_ XM`0#K!L>&=O\``(NV\/[&@O+^`(V&\OY0C4:`4.BF`X/$!+@O`%"-1H!0Z+8" XM@\0$B89Z_PO`=`6+V,8'`/^V=O^-AO+^4.B;`8/$!(F&?O\]_O]U",<&H@[\ XM_^M8@[Y^__]U",<&H@[]_^M)@[Y^_P!U",<&H@[__^LZ@[YV_P!T.(.^?O\! XM=#''AG3_``#K%(N>=/_1X_^W8`KHGP.#Q`+_AG3_BX9^_SF&=/]\XL<&H@[^ XM_S/`Z<T`@[YV_P!T28U&@%"-AO+^4.CX`H/$!+AD!E"-AO+^4.@O!H/$!/\V XM8`J-AO+^4.@@!H/$!/\V8`KH2`.#Q`*-AO+^4.CR!8/$`HF&\/[IJ?Z+AG[_ XMT>!`0%#H-0.#Q`*)AGC_QX9T_P``ZTB+GG3_T>/_MV`*C4:`4+AF!E"-AO+^ XM4.BI`H/$"(V&\OY0Z&$&@\0"BYYT_]'CB[9X_XD`BYYT_]'C_[=@"NC7`H/$ XM`O^&=/^+AG[_.89T_WRNB]C1XXNV>/_'````BX9X_UZ+Y5W#58OLN`8`Z!P" XMBUX$@#\`=$.+7@2*!YA0_W8&Z*4%@\0$B4;\"\!U!#/`ZRC_=@3H-`6#Q`)0 XM_W;\_W8$Z'@!@\0&"\!U!8M&_.L)BT;\0(E&!NN]B^5=PU6+[+@(`.C$`58S XMP%"X8`Q0N!H`4.C7`(/$!L=&_@``Q@:-#$['!I`,%P"+1@2CD@SIG@"X?@Q0 XMZ&4!@\0"@WX&`+A^#%#H?@6#Q`*)1OP+P'4FQT;Z``#K$HM>^M'C_[=@"NCS XM`8/$`O]&^HM&_CE&^GSFN/[_ZW&!?OX``7P%N/__ZV6+1O[_1OZ)1OKK*XM> XM^M'C_[=>"O]V_.CT!(/$!`O`?1N+7OK1XXMV^M'FBX1>"HF'8`K_3OJ#?OH` XM?\^+7OK1XXM&_(F'8`K&!HT,3[B,#%!0Z.\#@\0$B4;X"\!U`^E-_XM&_EZ+ XMY5W#58OLBF8$BU8&BD8(S2%=PU6+[%<>!XM^!#/`N?__\JY!]]E/BD8&_?*N XM1S@%=`0SP.L"B\?\7UW#58OL@^P$5U;_=@3H^@F#Q`*+\(U&"%#_=@;_=@3H XM`PN#Q`:+^/]V!%;H7@J#Q`2+QUY?B^5=PU6+[%=6'@>+3@CC+XO9BWX$B_<S XMP+G___*N0??9.\MV`HO+B_Z+=@;SIHI$_S/).D7_=P5T!4'K`O?1B\%>7UW# XM58OL5HMV!(O6M4&Q6K1ABMPJW8H$"L!T#SK%<@@ZP7<$`L.(!$;KZXO"7EW# XM68O<*]AR"CL>;`9R!(OC_^'IA`)5B^Q75AX'BWX&B_<SP+G___*N0??9BWX$ XMB]?SI(O"7E]=PU6+[(/L#%=6B_V#[PK&109"BT8$B44$B07'10+_?XU&"%#_ XM=@97Z!X*@\0&B_#_30*#?0(`?`PRP(L=_P6(!RKDZPI7,\!0Z'4%@\0$B\9> XM7XOE7<-5B^R+7@2`3_X!B^5=PU6+[%97NVX&@S\`=2D>![@%`.@H!74%,\"9 XMZR1`)/ZC;@:C<`:6QP0!`(/&!,=$_O[_B39T!HM.!(S8CL#HT@-?7HOE7<-5 XMB^R#[`175HLVL@<+]G0X@WX$`'0R_W8$Z$4"@\0"B_CK((L<@#D]=197_W8$ XM4^B`_H/$!@O`=0>+'(U!`>L*@\8"@SP`==LSP%Y?B^5=P[_L`8LV`@`K]X'^ XM`!!R`[X`$/J.UX'$K@[[<P/I20&!Y/[_-HDF2@<VB29(!XO&L033X$@VHT8' XMM##-(3:CK`<\`G,J'C/`4`X?NOT+M`G-(<M$3U,@,BXP(&]R(&QA=&5R(')E XM<75I<F5D#0HD`_>)-@(`C,,KWO?;M$K-(3:,'J0'BS8L`!X6N``US2$VB1Y" XM!S:,!D0'#A^X`"6Z+`W-(3:+#BH(XR(VQ08L"(S:,]LV_QXH"',#Z<P`-L4& XM,`B,VKL#`#;_'B@(!Q_\OS0(N;`.*\\SP/.J%A8''^@R"+L$`+@`1,TA<@KV XMPH!T!8"/R@=`2WGLZ"$&Z'X%NS0(@?LT"',(4_\76T-#Z_*Y!@`KX;ZN!XO\ XM%@?SI.CN!#/MZ##S4.B+``T*4W1A8VL@;W9E<F9L;W<-"@T*1&EV:61E(&5R XM<F]R#0H-"D9L;V%T:6YG('!O:6YT(&YO="!L;V%D960-"K$2NM0,,NT.'[L" XM`+1`S2$6'[C_`%#H5P6Q$+KF#.OEL1VZ]@SKWE6+[%=6'@>+?@2+=@:*9@B+ XM3@KC"*RJ.L1T!.+X,_^+QUY?7<-5B^R#/JH'`'0$_Q:J!_]V!.@0!8OE7<-5 XMB^Q75HM^!(L%BUT"BTT$BU4&BW4(BWT*S2%7BWX&B06)70*)302)50:)=0B/ XM10IR!#/VZPCHU0.^`0"+!8EU#%Y?7<-5B^Q7'@>+?@0SP+G___*NB\%`0/?8 XM7UW#58OL5U8>!XM^!(O7,\"Y___RKD^+]XM^!HO?N?__\JY!]]F+_HOS\Z2+ XMPEY?7<.T.>L&M#KK`K0[58OLBU8$S2'I6`-5B^Q7BWX$'@>+WS/`N?__\JY! XM]]F*1@:+^_*N3S@%=`(S_XO'7UW#58OL5U:+=@2+?@8>!XO?,\"Y___RKD'W XMV8O[\Z:*1/\SR3I%_W(%=`5!ZP+WT8O!7E]=PU6+[%>+?@17Z#S_0%#HD/Q; XM"\!U`UOK!U#H_ON#Q`1?7<-5B^R#[$)75HMV!HM^!`O_=1Y6Z&C\@\0"B_@+ XM_W4.QP:F!PP`QP:T!P@`ZUJ)?@0SP%"-1KY0Z/H$@\0$C4:^4.CA_H/$`@4# XM`#O&?!#'!J8'(@#'!K0'`0`SP.LI,\!04+@9`%#HG?J#Q`8$08@%1\8%.D?& XM!5Q'C4:^4%?H=_N#Q`2+1@1>7XOE7</IRP"#^>YS^$&`X?Z+=P+\K8O^J`%T XM0D@[P7,5B]`#\*VH`70T`\(%`@"+]XE$_NOFB_YT#`/YB4S^*\%(B07K!0/Y XM_DS^B\:,VH'Z[`%T!2:,'NP'B7\"PR;&!O`'`CW^_W0EB_X#\*VH`73RB_Y( XM.\%SO8O0`_"MJ`%TX@/"!0(`B_>)1/[KYHM'"`O`=`2.V.L3)OX.\`=T$(S8 XM/>P!=`4FCA[H!XLWZ[V+=P8SP.A9`#O&=`TD`4!`F.A-`'0-_DW^Z`L`=`66 XM3D[KFC/`F<-1BT7^J`%T`RO(24%!NO]_)CL6[@=V!-'J=?6+P0/&<A4#PG(- XM]](CPBO&Z`P`=0CWTM'J=>4SP%G#4E'H'0!T&%>+_HOP`_+'1/[^_XEW!HO6 XM*]=*B57^6%E:PU-0,](>4E)0N`$`4`8?Z"P-@\0(@_K_'UI;=`(+TL-5B^R# XM[`175HMV!HI$!IBI@P!T!O9$!D!T!KC__^G:`/9$!@%T!H!,!B#K[H!,!@*` XM9`;O,\")1`*+^(E^_O9$!@AU#XI$!YB+V-'C]H<8!P%T,(L\*WP$"_]^$E?_ XM=`2*1`>84.CC"X/$!HE&_HM$!$")!,=$`O\!BUP$BD8$B`?K:O9$!@1U3H'^ XM@`9U+8I$!YA0Z/4*@\0""\!U-<<&J@>(',=$!&`(BD0'F(O8T>/&AQ@'`<<$ XM80CKN+@``E#HX?F#Q`*)1`0+P'0&@$P&".N;@$P&!+\!`%>-1@10BD0'F%#H XM9`N#Q`:)1OXY?OYT`^DQ_XI&!"KD7E^+Y5W#<@@SP(OE7<-S!N@-`+C__XOE XM7<,RY.@!`,.BM`<*Y'4C@#ZL!P-R#3PB<PT\('(%L`7K!Y`\$W8"L!.[\@?7 XMF*.F!\.*Q.OW58OL@^P(5U:+-K('ZQ>X#`!0N`8(4/\TZ#GX@\0&"\!T"(/& XM`H,\`'7D@SP`=#F+/(/'#,=&_@``B@5'F(E&^NL<B@68/?\`=00RP.L"B@6+ XM7O[_1OZ(A\H'_T[Z1X-^^@!UWL<$``!>7XOE7<./!A0(CAZD!S/)B\&+Z8OY XM28LV+``+]G0(CL;RKD6N=?I%ET`D_HO]T>4#Q18?Z"/XB\^+_`/]B^P6!X[> XM,_9)XPV)?@!%1:RJ"L!U^N+SB4X`%A^))K('_R84"%6+[+LT"('[-`AS"%/_ XM%UM#0^ORZ"0""N1T"H!^!`!U!,9&!/X>Q19"HH%1T$ZX'04/")T"#P)=`0\('7K6!8'OH$` XMZRM/*_X+_W3QB\]"6XO#`\$%`P`E_O\KX(O\'@8?%@?SI+`@JHO+'[Z!`.L. XMB\@$!"3^*^"+_+A#(*OSI(O!JHOT%A]0B]R+_JRJ"L!T/3PB=1]6_P:N!ZP* XMP'0N/")U!X!]_UQU!$^JZ^U'QD7_`.O5Z#<`=-!.5D;_!JX'K*H*P'0(Z"4` XM=?7KX:J+]$M+._-S"*V'!XE$_NORB]P+TG4"_P>))K`'_R86"#P)=`(\(,-5 XMB^R+WHM6!HMV!+1'S2&+\UW#58OL5HMV!('^@`9U//9$!@QU-HI$!YB+V-'C XM]H<8!P%U)\=$!&`(BD0'F(O8T>/&AQ@'`<<&J@>(',=$`@`"BT0$B02X`0#K XM-('^F`9U+/9$!@QU)HI$!YB+V-'C]H<8!P%U%[@``E#HS/:#Q`*)1`0+P'0& XM@$P&".NY,\!>B^5=PU6+[%:+=@:#?@0`=$R!_H`&=26*1`>84.B"!X/$`@O` XM=!96Z)<'@\0"BD0'F(O8T>/&AQ@'`.L:@?Z8!G4;5NA[!X/$`O]T!.A<]H/$ XM`H!D!O<SP(D$B40$7HOE7<-5B^Q6,_:Y-0`RY/RL,N#B^X#T5?X.-0!U!H@F XM-`#K$0KD=`VZ-@"[`@"Y&0"T0,TA,L"B-0!>B^5=PU6+[+AB`>AY]5=6BW8& XMC8:B_J-`"(M&!*,X"(M&"*,\"#/`HTX(HTP(@#P`=0/I20&`/"5T`^D*`<<& XM1@@!`#/`HT0(HS0(HT@(HSH(HSX(HS8(HU((HU0(QP9"""``ZS*`/"UU!O\& XM5`CK)X`\*W4,_P9$",<&-@@``.L6@#P@=0V#/D0(`'4*_P8V".L$_P92"$:* XM!)A0Z`<&@\0""\!UOU:X2@A0Z)`%@\0$B_"`/"YU$O\&/@A&5KA&"%#H>06# XMQ`2+\(`\;'4'QP8Z"`(`1H`\`'4#Z:``B@28B8:>_CU%`'0*/4<`=`4]6`!U XM"?\&-`B#AI[^((N&GOXM8P`]%0!W/@/`DR[_IT`6_P9(",<&4@@``+@*`%#H XMAP"#Q`+K4+@(`.ORN!``Z^TSP%#HH`'KZ;@!`.OU_[:>_N@>`NO;B_[K02X6 XM"A8S%C,6,Q8\%CP6/!8\%CP6/!8\%AP6/!8\%CP6)A8\%@86/!8\%B$6@SY. XM"`!T!:%,".L@1NFF_H`])70&1X`]`'7UB\<KQE!6Z!X#@\0$B_?IBOY>7XOE XM7<-5B^RX&`#HU/-75H-^!`IT!/\&2`B#/CH(`'06BQX\"(L'BU<"B4;XB5;Z XM@P8\"`3K*8,^2`@`=!"+'CP(BP>)1OC'1OH``.L-BQX\"(L'F8E&^(E6^H,& XM/`@"@SY2"`!T#8M&^`M&^G0%BT8$ZP(SP*-0"(LV0`B#/D@(`'4J@W[Z`'TD XM@WX$"G47Q@0M1HM&^(M6^O?8@](`]]J)1OB)5OK'1O8!`.L%QT;V``"+_8/O XM&/]V!%?_=OK_=OCHEP2#Q`B#/CX(`'0@5^A0]H/$`HL.1@@KR(E._NL$Q@0P XM1HM&_O]._@O`?_**!8@$@SXT"`!T!SQA?`.`+"!&1X!]_P!UYH,^2`@`=12A XM1`@+!C8(=`N#?O8`=06X`0#K`C/`4.A5`H/$`EY?B^5=PU6+[+@(`.BF\E=6 XMQP9"""``@WX$`'00O@$`H3P(@P8\"`*)1OSK,XL>/`B+!XE&_(,&/`@""\!U XM!<=&_!@(_W;\Z*SU@\0"B_"#/CX(`'0*.09&"',$BS9&"(L^2@@K_H,^5`@` XM=0=7Z`X!@\0"5O]V_.AM`8/$!(,^5`@`=`=7Z/8`@\0"7E^+Y5W#58OLN`(` XMZ!KRH3P(B4;^@SX^"`!U!L<&1@@&`/\V-`C_-D8(_W8$_S9`"/]V_N@Z`X/$ XM"H-^!&=T!H-^!$=U&(,^4@@`=1&#/D8(`'0*_S9`".@@`X/$`H,^4@@`=!&# XM/D8(`'4*_S9`".@2`X/$`H,&/`@(QP90"```H40("P8V"'02_W;^Z`D#@\0" XM"\!T!;@!`.L",\!0Z"0!B^5=PU6+[#/`Z'OQ5H,^3@@`=3B+'C@(_T\"@W\" XM`'P1BD8$BQXX"(LW_P>(!"KDZPW_-C@(_W8$Z$'W@\0$0'4&_P9.".L$_P9, XM"%Z+Y5W#58OLN`(`Z"WQ5U:#/DX(`'51BW8$"_9^2NLSBQXX"/]/`H-_`@!\ XM$:!""(L>.`B+/_\'B`4JY.L._S8X"/\V0@CHZ/:#Q`1`=03_!DX(B\9."\!_ XMQH,^3@@`=0>+1@0!!DP(7E^+Y5W#58OLN`(`Z,3P5U:+=@2+?@:#/DX(`'5, XMZS6+'C@(_T\"@W\"`'P2B@2+'C@(BP__!XO9B`<JY.L._S8X"(H$F%#H?_:# XMQ`1`=03_!DX(1HO'3PO`=<2#/DX(`'4'BT8&`09,"%Y?B^5=PU6+[+@*`.A: XM\%=6BS9`"#/`B4;\B4;XBSY*"%;HA?.#Q`*)1OHK^"M^!*%0"+$#T_@K^(,^ XM5`@`=16`/"UU$(,^0@@P=0FLF%#HE/Z#Q`*#/D((,'0+"_]^!X,^5`@`=!F# XM?@0`=`;_1OCH7@"#/E`(`'0&_T;\Z&\`@SY4"`!U)E?HJ/Z#Q`*#?@0`=`F# XM?O@`=0/H-`"#/E`(`'0)@W[\`'4#Z$(`_W;Z5NCH_H/$!(,^5`@`=`W'!D(( XM(`!7Z&O^@\0"7E^+Y5W#58OL,\#HD.^#/D0(`'0$L"OK`K`@F%#H^_V+Y5W# XM58OL,\#H<N^X,`!0Z.C]@\0"@SY0"!!U%8,^-`@`=`2P6.L"L'B84.C,_8/$ XM`HOE7<-5B^RX`@#H/^]75HMV!H`\*G4.BQX\"(,&/`@"BS]&ZSHS_X`\,'PS XM@#PY?RXY/CX(=0N`/#!U!L<&0@@P`*R8B\_1X='A`\_1X0/(@^DPB_F`/#!\ XM!8`\.7[CBUX$B3^+QEY?B^5=PU6+[+@"`.C7[E:^'PCK#8H$.$8$=06X`0#K XM"$:`/`!U[C/`7HOE7<-5B^SH:O&+Y5W#58OLZ&#QB^5=PU6+[.A6\8OE7<-5 XMB^SH3/&+Y5W#58OLZ$+QB^5=PU6+[+,`Z58"58OLBUX$@_L4?1&#^P!\#/:' XMR@=`=`6X`0#K`C/`7<-5B^R#[`175HMV!#/_5NB"`H/$`HI$!B0#/`)U//9$ XM!@AU#XI$!YB+V-'C]H<8!P%T)XL$*T0$B4;\"\!^&U#_=`2*1`>84.A5`(/$ XM!CM&_'0'@$P&(+___XM$!(D$QT0"``"+QUY?B^5=PU6+[(/L!%=6OG@&,__K XM%XI$!IBI@P!T"U;H>?^#Q`)`=`%'@\8(.39`!W/CB\=>7XOE7<-5B^R+7@3V XMA\H'('0.N`)",\F+T<TA<P/IHO3VA\H'@'4#Z8$`BTX(BU8&'@<SP/Q75HOP XMB_KC9;@*0/*N=3)1B\\KRDGC$,TAG`/PG7,$M`GK20O`="]&N0(`NB0(M$#- XM(7,$M`GK-`O`=!I9B]?KQ5&+SRO*S2&<`_"=<P2T">L:"\!U%O:'R@=`=`N+ XM7@:`/QIU`_CK!/FX"!Q9<@*+QEY?Z1?TBTX(BU8&M$#-(7,$M`GK[>/K"\!U XMY_:'R@=`=`J+VH`_&G4#^.O6^;@('.O058OL5E<&@WX(`'4XOTH'BU8&BT8$ XM2'4'Z%,`<B?K2(LVF@=(=!$[]W0-BT0"B48,5N@Z`%YS,(/&!('^F@=S!`O2 XM=0:X__^9ZQV+VH/##]';L0/3Z[1(S2%RZ9*)!(E4`HDVF@<SP`=?7HOE7<.+ XM3@R+]SE,`G0,@\8$@?Z:!W7R^>L_B]H#''(YB]..P3OW=08Y'D8'<R:#PP_1 XMV]'KT>O1ZSOW=0D#V:&D!RO8CL"T2LTA<@T[]W4$B19&!Y*'!(O1PU=6BTX* XMBT8$BU8&BWX(5QX'_),*P'03@_D*=0X+TGD*L"VJ]]N#T@#WVHOWDC/2"\!T XM`O?QD_?QDH?3!#`\.78"!">JB\(+PW7BB`5/K(8%B$3_3SOW<O587E]=PU6+ XM[(M>!(!G!L]=PP```````````````$,@3&EB<F%R>2`M("A#*4-O<'ER:6=H XM="!-:6-R;W-O9G0@0V]R<"`Q.3@U``%.=6QL('!O:6YT97(@87-S:6=N;65N XM=`T*`#$O,C$O.#8@*$IO:&X@4&QO8VAE<BD@0"@C*6-H9"YC"3$N,#$`8VAD XM`%1O;R!M86YY(&%R9W5M96YT<P!(3TU%`$5N=FER;VYM96YT('9A<FEA8FQE XM($A/344@;F]T(&9O=6YD"@!0871H(&YO="!F;W5N9#H@(B5S(@!!;6)I9W5O XM=7,@<&%T:&YA;64@(B5S(@!9;W4@;75S="!S<&5C:69Y(&$@1$E214-43U)9 XM('!A=&@`5&]O(&UA;GD@9FEL97,`3W5T(&]F(&UE;6]R>0!);G1E<FYA;"!E XM<G)O<CH@)7,`4``Q+C`Q(#(Q+4IA;BTX-@`E<R!V97)S:6]N("5S(&)Y($IO XM:&X@4&QO8VAE<B!O;B!&:61O3F5T(#$R,2\Y,`H`"D524D]2.B`E<PH`"B5S XM("T@82!R97!L86-E;65N="!F;W(@35,M1$]3)W,@8VAD:7(@)B!C9"!C;VUM XM86YD<PH`)7,@:7,@8V]P>7)I9VAT("A#*2`Q.3@V(&)Y($IO:&X@4&QO8VAE XM<@H*`"5S(&ES(')E;&5A<V5D(&EN=&\@=&AE($Y/3B!04D]&250L($Y/3B!# XM3TU-15)#24%,('!U8FQI8R!D;VUA:6XN"@!!3$P@<FEG:'1S('1O("5S(')E XM;6%I;B!W:71H($IO:&X@4&QO8VAE<BP@8G5T(&%N>6]N92!W:&\@=VES:&5S XM"@!T;R!U<V4@:70@;6%Y(&1O('-O(&%S(&QO;F<@87,@=&AE>2!$3R!.3U0@ XM4T5,3"!I="X@($ET(&UA>2!B90H`9VEV96X@87=A>2P@<'5T(&]N($)"4R=S XM(&5T8RP@8G5T(&YO(")M961I82!C:&%R9V4B(&UA>2!B92!A<W-O8VEA=&5D XM"@!W:71H('1H:7,@9&ES=')I8G5T:6]N+@H*`"5S(&AA<R!S;VUE(&9E871U XM<F5S('=H:6-H('1H92!$3U,@=F5R<VEO;B!L86-K<SH*``DQ*2!!3$P@=VEL XM9&-A<F1S("@J(&%N9"`_*2!A<F4@97AP86YD960L(&YO(&UA='1E<B!W:&5R XM90H`"2`@('1H97D@87)E(&EN('1H92!P871H+@H`"0E#.EP@/B5S(%QU*EQP XM*EQW*EP_"@`)"4,Z7%534EQ03$]#2$527%=/4DM<0R`^"@`),BD@268@)7,@ XM:7,@:6YV;VME9"!W:71H;W5T(&%R9W5M96YT<RP@:70@=VEL;"!T<GD@=&\* XM``D@("!C:&%N9V4@=&\@=&AE(&1I<F5C=&]R>2!F;W5N9"!I;B!T:&4@96YV XM:7)O;FUE;G0*``D@("!V87)I86)L92!(3TU%+@H`"0E#.EP@/E-%5"!H;VUE XM/5QU<W)<<&QO8VAE<B`@("`M;W(M"@`)"4,Z7"`^4T54(&AO;64]7'4J7'`J XM"@`),RD@268@)7,@9F%I;',L(&ET(&QE879E<R!A;B!I;F1I8V%T:6]N(&EN XM($524D]23$5614PN"@`)("`@5&AI<R!E>&ET(&-O9&4@8V%N(&)E('1E<W1E XM9"!I;B!B871C:"!F:6QE<SH*``D@("`@15)23U),159%3"`@365A;FEN9PH` XM"2`@("`M+2TM+2TM+2TM("`M+2TM+2TM"@`)"3`)3F\@97)R;W(*``D),0EC XM;W5L9"!N;W0@9FEN9"!D:7)E8W1O<GD*``D),@EA;6)I9W5O=7,@<&%T:&YA XM;64*``D),PED:7)E8W1O<GEN86UE(&5X<&5C=&5D+"!Y;W4@9V%V92!A(&9I XM;&5N86UE"@`)"30):6YT97)N86P@97)R;W(@*&QE="!M92!K;F]W(&%B;W5T XM('1H:7,A*0H*`'5S86=E.B`E<R`\9&ER96-T;W)Y(&YA;64^("`@("!C:&%N XM9V4@=&\@9&ER96-T;W)Y"@`@("`@("`@)7,@("`@("`@("`@("`@("`@("`@ XM("`@8VAA;F=E('1O($A/344*`"`@("`@("`E<R`M/R`@("`@("`@("`@("`@ XM("`@("!H96QP('-C<F5E;@H`+P`O`"\N+P`N+B\`+P`E<R\E<P!&#P`````` XM``````"B#```H@P!``````````(!````````!@(```````"$`P````````($ XM```````````````````````````````````````````````````````````` XM```````````````````````````````````````````````````````````` XM`````````````````````````````````````````0`````````````````` XM`````````````````````````````````!`'`````````````.P!```````` XM```````````````````````````````````````````````````````````` XM`````````````````````````````````$H'```````````````````````` XM`````````````````````````````````````(&!@0$!```````````````` XM```````````````````````````@````%@("&`T)#`P,!PC___\2#1("_SM# XL7T9)3$5?24Y&3P```````"AN=6QL*0`K+2`C``T*``````````````````!# X` Xend !SHAR-EOF! if [ "`wc -c chd.exe.uue`" != " 14470 chd.exe.uue" ] then echo ' chd.exe.uue may be bad' fi fi echo x - glob.obj.uue if [ -s glob.obj.uue ] # exists & size>0 then echo "shar: will not overwrite 'glob.obj.uue'" else sed "s/^X//" << \!SHAR-EOF! > glob.obj.uue Xbegin 660 glob.obj XM@`@`!F=L;V(N8SV(!P```$U3($-NB`4``)]%34*("0``GU-,24)&4!"("``` XMGU-,24)#9(@&``"=,'-/XY8N```&1$=23U50!5]415A4!$-/1$4%7T1!5$$$ XM1$%4005#3TY35`1?0E-3`T)34S^8!P`H^00#!`$TF`<`2!0`!08!^9@'`$@` XM``<'`0J8!P!(```("0$'F@@``O\#_P3_`E:<#0```P$"`@$#!$`!10'`C!8` XM"E]?86-R='5S960`!U]M86QL;V,`78X(````8GN!`!#\C$<`!5]L:7-T`0A? XM<W!R:6YT9@`*7V=L;V)E<G)O<@`0("!G971D:7(Q93)E,#@V,``$7W!O<P`% XM7V=L;V(`"%]S=')N8VUP`'..!@```&)[<!^,"0`&7W)R96=S`N&.!@```&)[ XM0$^,'``&7W-R96=S`P=?<W1R;&5N``A?7V-H:W-T:P"`C@@```!B>X%@`:N, XM<0`$7V1M800%7V)D;W,`!U]I;G1D;W,`"%]M96UC8W!Y``=?9V5T8W=D``=? XM<W1R8V%T``=?<W1R8VAR``=?<W1R8VUP``A?<W1R<F-H<@`'7W-T<F-P>0`' XM7W-T<F1U<``'7W-T<FQW<@`%7V9R964`H*`8``(``"\`+P`O+B\`+BXO`"\` XM)7,O)7,`0Z#E`P$``%6+[+B6`>@``%;_=@2-AF[^4.@``(/$!("^;OXO=&F` XMOF[^7'1BN(``4(V&\OY0Z```@\0$,\!0C8;R_E#H``"#Q`2)AN[^_X[N_HN> XM[OZ`/R]T%(`_7'0/N```4(V&\OY0Z```@\0$C89N_E"-AO+^4.@``(/$!(V& XM\OY0C89N_E#H``"#Q`2-AF[^4.@``(/$`HF&=/_K%(NV=/^`NF[^7'4%QH)N XM_B__CG3_@[YT_P!UY<>&=/\``,>&\/X``#/`4(V&;OY0Z```@\0$B8;N_O^. XM[OZ+GN[^@#\N=3"X`@!0C89N_E#H``"#Q`3K'U#H``"#Q`)0,\!0BX9R_P4# XM`%"+AG+_0%#H``"#Q`B-AF[^4+@$`%#H``"#Q`2)AG+_"\!URNM4B]B*1_^( XMAFK^QD?_`+@O`%"-AF[^4.@``(/$!(F&[OX+P'4#Z4H!BYYR_XJ&:OZ(1___ XMMG+_Z```@\0"4#/`4(N&<O\%`P!0BX;N_D!0Z```@\0(C89N_E"X"`!0Z``` XM@\0$B89R_PO`=94SP%"-AF[^4.@``(/$!(F&[O[_CN[^BY[N_H`_+W4GQ@<` XMZR*`NF[^*G0F@+IN_C]T'_^&=/^*@F[^B[;P_O^&\/Z(@O+^B[9T_X"Z;OX` XM==.+MG3_@+IN_@!T*.L;@+IN_B]T'_^&=/^*@F[^B[;P_O^&\/Z(@O+^B[9T XM_X"Z;OX`==J+MG3_@+IN_@!T",>&=O\!`.L&QX9V_P``B[;P_L:"\OX`C8;R XM_E"-1H!0Z```@\0$N"\`4(U&@%#H``"#Q`2)AGK_"\!T!8O8Q@<`_[9V_XV& XM\OY0Z```@\0$B89^_SW^_W4(QP8``/S_ZUB#OG[__W4(QP8``/W_ZTF#OG[_ XM`'4(QP8``/__ZSJ#OG;_`'0X@[Y^_P%T,<>&=/\``.L4BYYT_]'C_[<``.@` XM`(/$`O^&=/^+AG[_.89T_WSBQP8``/[_,\#IS0"#OG;_`'1)C4:`4(V&\OY0 XMZ```@\0$N`P`4(V&\OY0Z```@\0$_S8``(V&\OY0Z```@\0$_S8``.@``(/$ XM`HV&\OY0Z```@\0"B8;P_NFI_HN&?O_1X$!`4.@``(/$`HF&>/_'AG3_``#K XM2(N>=/_1X_^W``"-1H!0N`X`4(V&\OY0Z```@\0(C8;R_E#H``"#Q`*+GG3_ XMT>.+MGC_B0"+GG3_T>/_MP``Z```@\0"_X9T_XN&?O\YAG3_?*Z+V-'CB[9X XM_\<```"+AGC_7HOE7<-5B^RX!@#H``"+7@2`/P!T0XM>!(H'F%#_=@;H``"# XMQ`2)1OP+P'4$,\#K*/]V!)6<NP"'SE84A[E6#8>*5AK'AU8#AVY6&(=C5@3' XM6IW'4U8#ASI6`H<D5@R'&58:QQ96`X</5A/'!U8#AP!6$\;WG8;Q5A?&UU8% XMAL)6&L:_5@/&FU8%QHQ6!<9]5@6&;58&AE%6%H9#5A>%G%84A896!\6"G85W XM5A&%7U8,A3]6%H495@?%%9V%"E81A/)6#(3I5A/$X)V$R584A(Y6#(2#5A>$ XM<U83A&-6$\1:G80^5A2$,%82A!-6%X0'5@W?H!P!`>$#Z```@\0"4/]V_/]V XM!.@``(/$!@O`=06+1OSK"8M&_$")1@;KO8OE7<-5B^RX"`#H``!6,\!0N``` XM4+@:`%#H``"#Q`;'1OX``,8&`0!.QP8$`!<`BT8$HP8`Z9X`N!X`4.@``(/$ XM`H-^!@"X'@!0Z```@\0"B4;\"\!U)L=&^@``ZQ*+7OK1X_^W``#H``"#Q`+_ XM1OJ+1OXY1OI\YKC^_^MQ@7[^``%\!;C__^MEBT;^_T;^B4;ZZRN+7OK1X_^W XM_O__=OSH``"#Q`0+P'T;BU[ZT>.+=OK1YHN$_O^)AP``_T[Z@W[Z`'_/BU[Z XMT>.+1OR)AP``Q@8!`$^X``!04.@``(/$!(E&^`O`=0/I3?^+1OY>B^5=P^J< XM60"%`580Q/Q6"L3X5@K$]%8#Q-]6`\3;5@.$QE85Q,!6`X2-5AK$BE8#A'!6 XM&,1L5@Z$8E89Q%Y6#L185@K$4%8*Q$M6"H0_5@_$-U8.A#!6#80.5@F$`58, XM?I`H```!$"`@9V5T9&ER,64R93`X-C`*!``$7W!O<[(#``5?9VQO8@```/V* X$`@``=``! X` Xend !SHAR-EOF! if [ "`wc -c glob.obj.uue`" != " 2949 glob.obj.uue" ] then echo ' glob.obj.uue may be bad' fi fi exit # END OF ARCHIVE #