[comp.binaries.ibm.pc] "glob" routine in C for MS-DOS uuencodes

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"![@`)<TA'XL.*@CC![L"`/\>
XM*`B+1@2T3,TACP86"(X>I`<6![Z``*R8,](F@#ZL!P-R95".!BP`,\"+R/?1
XMB_CRKB8X!77Y@\<#B\CWT8OW)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 #