Oq p `  @` `  @`FARCLZH 15 ]rFARCLZH 30 ]rFARCLZH DOC ?FARCLZH EXT Nr FARCLZH FLD T fFARCLZH NOT $r "FARCLZH TTP " B "2C:\FOREM\ C:\FOREM\UTILS\TURBOARC.TTP C:\FOREM\LHARC.TTP H:\TMP\ X A 15 C:\FOREM\UTILS\FARCLZH.LOG C:\FOREM\UTILS\ LINE 1: The path to Forem's root. This should end in a \. LINE 2: The complete pathname of a program to decompress ARC files. LINE 3: The complete pathname of a program to compress files to LZH format. LINE 4: An EMPTY FOLDER created by YOU. This should end in a \. LINE 5: Unarcing instructions to the program on line 2. LINE 6: LHarcing instructions to the program on line 3. LINE 7: Number of minutes to convert files. LINE 8: The complete path and file name of the log. LINE 9: The path to the .EXT, .FLD, and .NOT files. ^C:\FOREM\ C:\FOREM\UTILS\TURBOARC.TTP C:\FOREM\LHARC.TTP H:\TMP\ X A 30 C:\FOREM\UTILS\FARCLZH.LOG C:\FOREM\UTILS\ LINE 1: The path to Forem's root. This should end in a \. LINE 2: The complete pathname of a program to decompress ARC files. LINE 3: The complete pathname of a program to compress files to LZH format. LINE 4: An EMPTY FOLDER created by YOU. This should end in a \. LINE 5: Unarcing instructions to the program on line 2. LINE 6: LHarcing instructions to the program on line 3. LINE 7: Number of minutes to convert files. LINE 8: The complete path and file name of the log. LINE 9: The path to the .EXT, .FLD, and .NOT files. ^ Forem ARC to LZH File Conversion Utility 4.0 Written by William K. Day Copyright 1989 Purpose: This program is intended for use with Forem Bulletin Board Systems to compress files using the best compression program around, LHARC. This program can be run from Forem's batch files to run during unused times on the board. The setup of this program is described in the FARCLZH.TTP paragraph below: NOTE #1: Corrupted archives have been known to hang up the turboarc program until you reset the board. There is nothing that the author can do about this. Also, LHARC can also prompt for a yes or no from the operator if there are duplicate entries of the same file name in the ARC file. Again there is nothing I can do about that. NOTE #2: This program now checks for proper paths to the TMP folder and the LHARC.TTP program. It also deletes any files from the TMP folder specified so BE SURE TO MAKE IT AN EMPTY FOLDER. WARNING: I TAKE NO RESPONSIBILITY FOR LOST FILES. Please read the notes in the FARCLZH.15 and FARCLZH.30 set files. NOTE #3: Make sure that there is around 2-3 megs of free space left on each disk to insure proper operation of this program. This program DOES NOT do free space checking at any time. FARCLZH.TTP: This is the actual program. It uses a command line interface to specify the SET file and whether to reset the log or not. c:\forem\utils\farclzh.ttp c:\forem\utils\farclzh.15 RESET This command line will use the SET file FARCLZH.15 to provide the parameters for converting files to LHarc format. The RESET calls for a log file reset. FARCLZH.15 and FARCLZH.30: These are the set files for this program. There are two here to show you that you can use different setups for different times of the day or even different conversion programs. Here is FARCLZH.15: C:\FOREM\ * The Forem Root Path (ending \) C:\FOREM\ARC.TTP * The complete path to the arc.ttp program C:\FOREM\LHARC.TTP * The complete path to the lharc.ttp program H:\TMP\ * An empty work folder (ending \) X * Unarcing instructions to arc.ttp A * Arcing instructions to lharc.ttp 15 * Time Limit in Minutes C:\FOREM\FARCLZH.LOG * The complete path to the log file C:\FOREM\UTILS\ * The Path to the .not, .fld, & .ext files NOTE: The comments are not normally part of the file. Please see files FARCLZH.15 and FARCLZH.30 for the proper setup. FARCLZH.FLD: You must create the file called FARCLZH.FLD [ and put in it the folder names of ALL of the Forem Download Directories you want FARCLZH to convert to LZH. These folders are each on a line by themselves. You can have up to the Forem Limit of 20 folder names in this file. Put this file in the folder specified on line 9 of the set file. This file is required to run this program. FARCLZH.NOT: You may want to keep some files intact and not convert them to LZH format. Good candidates for this file are ARC.TTP, LHARC.ARC, and ARCSHELL.ARC. Each file you do not want FARCLZH to convert should go on a separate line in this file. There is a limit of 50 of these files. No path name is required since FARCLZH will not process a file with this name if it is found in any of the folders specified in the FARCLZH.FLD file. Also put this file in the folder specified on line 9 of the set file. This file is not required to run this program. If you have no files to NOT convert then delete this file. FARCLZH.EXT: You may also want FARCLZH to skip all files of a certain type like files already compressed but not arced. Stuff like .ZOO and .ZIP files or .SPC or .WRP files. Put the ending 3 letter extensions that you do not want converted to LZH format each on a line of its own in this file. This file is not required to run this program. If you want FARCLZH to try to convert all types of files then delete this file. BATCH FILE SETUP: The best application of this program is to use it from one or more of the Forem .BAT files. I use the FARCLZH.30 set file in the DAILY.BAT file to get at least a couple of conversions done per day. I also use the FARCLZH.15 set file in the HOURLY.BAT file in case nobody is online to get some work done there too. In DAILY.BAT: c:\forem\utils\farclzh.ttp c:\forem\utils\farclzh.30 RESET In HOURLY.BAT: c:\forem\utils\farclzh.ttp c:\forem\utils\farclzh.15 REVISION HISTORY: 16-OCT-89 Released revision 1.0 of the program. No bugs! 21-OCT-89 Released revision 2.0 of the program. No bugs! 1. Added FARCLZH.FLD file stuff. 2. Added FARCLZH.NOT file stuff. 3. Added start/end time print in log. 18-NOV-89 Released revision 3.0 of the program. No bugs! 1. Added FARCLZH.EXT file stuff. 2. Modularized better for future enhancements. 27-DEC-89 Released revision 4.0 of the program. No bugs! 1. Added code to unarc/lharc sub-archives. 2. Added more modularity to handle new features. 3. Added more error checking and handling. 4. Added simple store of sub-lzh files into main lzh. ZIP ZOO WRP MSA  ST_GAMES ST_PROG ST_GRAPH ST_COMM ST_ACC ST_UTILS ST_MUSIC ST_TEXT ST_APPL F_UTILS F_GAMES LISTALL.ARC LH40ST.ARC ARC.TTP `5p $0 *o m$m,B"HJgP"&J$YJf"Jg< Af Rf Gf Vf =f Jg#=B "&J$YJf"Jf&f2B "=EHB2 r ggSJ"g fB*`B" 6&#6&.I+I/ #>//SA?/ / Bg?<JNA By>Jf.?<?<N->N.?|BWN->N.XONb ?N)R?<LNANVp/?NATO-@Hnp?NA\O/.Hy5NPO/.HnNZPOHy6HnN,POBgHnpN?NAPO fJ/.HnNZPOHnHnN,POHnHy6NPOHnpA?NA\OpO?NATO g/.p?NA\ON^NuNV//.NjXOS@> n  g n  g n  f0mSG`0R@0@B.N^NuNV?. /.N\O-@f n` nBN^NuNV nnHy6*NXOp?N)RTOHy6VNXOHy6NXOHy6NXO nm8Hy6 n /(N$dPO#CfHy6NXOp?N)RTO/9C?<HyTN$ HyTNjXO0@TB/9C?<HyVN$ HyVNjXO0@VB/9C?<Hy](N$ Hy](NjXO0@]'B/9C?<Hya N$ Hya NjXO0@a B/9C?<Hy@N$ Hy@NjXO0@@B/9C?<Hy[(N$ Hy[(NjXO0@['B/9C?<Hy>N$ Hy>NjXO0@>B/9C?<HyXN$ HyXNjXO0@XB/9C?<Hy?N$ Hy?NjXO0@?B/9CN$XO nf(Hy6 n /(NPO0fHyXpA?NA\OHy6HyXN$dPO#Bf HyXHy6NPOp?N)RTONHnN2XOHnNXOHnHnHy6N HnHnHy7!/9BNdNNN(HyTHybN,POHy7EHybN,POHy7OHybN$dPO#Uf HybHy7QNPOp?N)RTOByA yAl"/9U?<HyAN$ RyA`/9UN$XOB9AHyANXOHyTHyUN,POHy7`HyUN,POBgHyUp=?NAPO3a l HyUHy7kNPOp?N)RTOHyFHy ?9a p??NA ?9a p>?NAXOHy>NXO<3B?9BHy7zN\OBy_(By_*ByCN0y_*Ag ByA09AyBlHyTHnNZPO0y_*AH?NTO@09A U/HnN,POHy7HnN,PO09A U/HnN,POHy7HnN,POHnHy7NPOBgHnp=?NAPO3BlHnHy7NPO`N?9Bp>?NAXO y_(g RyA` y_(g Ry_*`?9CHy7N\O?9CHy7/9BNd HnN2XOHnNXOHnHnHy8N HnHnHy8'/9BNd/9BN$XOBgN)RTON^NuNVHy_,Hy?9Bp??NA fHy_,NXO3B09BoHy_,NXO @f4Hy_,Hy8INPOHy_,Hy8p/9BNd `xHy_,NXO @fN =@0.gL?.Hy_,Hy8N ?.Hy_,Hy8/9BNdHya N(XO`N 0=@0.g?.Hy_,Hy9 N ?.Hy_,Hy9J`Hy_,NXO=@ ng nf$Hy_,Hy9NPOHy_,Hy9`N=@0.fXN V=@0.fFN v=@0.f4RyCNN @f p3_(` N`N^NuNVB9EHyTHyEN,PO0y_*AH?NTOE09A U/HyEN,POHy:HyEN,POHy_,HyEN,POHya HyENPO=@0.N^NuNVHyEHyWNZPOHyWNXO=@Hy:0.HW/NZPOHya HyWNPO=@0.gHyWpA?NA\OHya N(XO`0HyWHyEN4POHya N(XOHyEpA?NA\O0.N^NuNVBnHya HnNZPOHy:HnN,POp/?NATO-@Hnp?NA\OBgHnpN?NAPO fHnNXO=@Hya HnNZPO?.HnHnN| Hnp9?NA\O=@Hya HnNZPOHnHnN,POHnHnNZPOHy: HnN,POHnHnNPO=@HnpA?NA\OpO?NATO gH/.p?NA\O0.N^NuNVBnp/?NATO-@Hnp?NA\OHya HnNZPOHy:HnN,POp?HnpN?NAPO f.H@ @f ..gHya HnNZPOHnHnN,POHnHnNZPOHy:HnN,POHya HnNZPOHnHnN,POHy:HnN,POHnHnNPO=@HnN(XOHnp:?NA\OpO?NATO g4/.p?NA\O0.N^NuNVN,#BN^NuNV/N,B#Bv69BHy/9BN2 POep`B@&N^NuNVHy/9BN2 PO"p09B=@?.Hy:N\ON^NuNVHy?HnNZPOHy:5HnN,POHy:AHnN$dPO#UfHnHy:CNPOByV`ByV/9U?<HnN$ gZ yVgPp ?HnN8\Op?Hn09VHZ/N 09VHAZBRyV`/9UN$XON^NuNVHy?HnNZPOHy:RHnN,POHy:^HnN$dPO#b fHnHy:`NPOBy>`By>/9b ?<HnN$ gT y2>gJp ?HnN8\OHn09> C/NZPO09> ACBRy>`/9b N$XON^NuNVHy?HnNZPOHy:oHnN,POHy:{HnN$dPO#WfHnHy:}NPOp?N)RTOByB/9W?<HnN$ gT yBgJp ?HnN8\OHn09B U/NZPO09B AU&BRyB`/9WN$XON^NuNVHy:09BH_-/NZPOp/?NATO-@Hnp?NA\OBgHyWpN?NAPO/.HyWHy:N /.HyWHy:/9BNd#_l*0. C//.NBPO0fp`Rn`B@N^NuNV/.NXO=@p?Hy:0.R@HЮ/N 0fp`LBn0.yVl:p?0.HZ/0.R@HЮ/N 0fp`Rn`B@N^NuNV/.NXO=@p?Hy:0.R@HЮ/N 0fp`B@N^NuNVB9EHyTHyEN,PO0y_*AH?NTOE09A U/HyEN,POHy:HyEN,POHy_,HyEN,POBgHyEp=?NAPO=@l4HyEHy:NPOHyEHy:/9BNd p`fHyEp>?NA\OHya HnNZPOHy_,HnN,POHnHyEHy:N HnHyENFPO=@0.N^NuNVBgHyVp=?NAPO=@l>HyVHy;NPOHyVHy;-/9BNd p?N)RTO` ?.p>?NAXOBgHy](p=?NAPO=@l>Hy](Hy;RNPOHy](Hy;u/9BNd p?N)RTO` ?.p>?NAXOHya HnNZPOHy;HnN,POBgHnp?NAXO0.`?.p>?NAXOp?/. p=?NAPO=@l?.p>?NAXO/. pA?NA\O`HnHy?.p??NA -@ fPHnHy?.p@?NA -@ g?.p>?NAXO?.p>?NAXO?.pA?NAXO .D`@ .o Hn/.?.p@?NA -@f?.p>?NAXO?.p>?NAXOB@N^NuNV/. /.NFPO=@g0.`/.pA?NA\OB@N^NuNVBn/. HnNZPOHy;HnN,POp/?NATO-@Hnp?NA\OBgHnpN?NAPO fp=@ nfp@Hy;HnNZPO/.HnN,POHy<HnN,PO/. HnN,POHy<HnN,POHnNjXOS@@HnHy](Hy< N HnHy](Hy</9BNdHy<)HnHy](BgpK?NA=@0.f BgHnpN?NAPO f8/. HnNZPOHnHnN,POHnpA?NA\OpO?NATO g/.p?NA\Op@Hy<0HnNZPO/.HnN,POHy<4HnN,PO/. HnN,POHy<6HnN,POHnNjXOS@@HnHy](Hy<:N HnHy](Hy?NAXOp@Hy?NAXO?.p>?NAXON^NuNVH *nz~H< @ g F fR` F-fz` F+fRH< @0m F9n2A00 A>`JEf0D@>0L N^Nu o0/BAgJfBNu Nu"o o JfSfNu"o ofJfHHNu"o o fNu o"Jf S@Nu"o o 2/ gSAJfSgQB`BQNu"o oB2/ gSAfJgQHHNuE Z "Z2gSAWSAmtQNu0/0@=Ag@NuNVHnHy=6N|PON^NuNVHn?</.N'2 Hn HnN|POHnBg nN\ON^NuNVHn /.N|PON^NuNVH0-n n(PXH> @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |5p2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ N"PO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ N#h `p ? n// N#h *@X`p`p`/ ?./.?N# *@P`fBn n-Pf-|. *NB%0<g"0H@H@B@H@ @5>`?Bg _5g nR` .L N^NuNVH0*n>.IB$p0//. N2 PO-@g$p0//. N2RPOA5-n ` n 5g` L0N^NuNVpL?Hy. *nSGo"/. n hNXO< @g 0 @ fB Ff fB` .L N^NuNV/ K=j=d. g U(fp?//. /.N%*`X`B*_N^NuNVH *n-fp`-H?N- TO -g-f /-N4XOB-0L N^NuNVH *nBm -ff >o?/--H?N0XPOGf$0m mAf -*+@`+UB@` 09>H fBy>`-pL N^NuNVH *n>.|BnBnp=@ n R pr@H @rf|pw@ n g,H @bf"BnR n gH @bf$Bn0l0.f?/.N.\O>0l@0.f0.g4?</.N-V\O>m Fg?N- TO?/.N.\O>0m0.gp?B?N.~PO-M .fp?N4|TO*@ f ?N- TO`|p@0.g- p+@*+@Bm +|(+|(G `DH @wfRn`H @af&Rn`H @+g.HHAf|`BL N^NuNV/ *n .*+@+|'B-0. D@;@ m l;| +|'`+|' *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNV/ *n -f,-f?<N4|TO+@f+|*J+|+X`j-f2-H?N.^TO0g=6f+|)l+|+ -`&+|)l+|*-H?N(TOHЭ*+@Bm *_N^NuNV/p?B?.N.~PO. fB@`0H@.N^NuNV/ *n/ N'XO/ mNXO*_N^NuNVH >.*n / N'XO/ ? mN\OL N^NuNV/ K=Y M=je g/N$XO`*_N^NuNVN)$?.N,TON^NuNVH *nRm o/ N% XO0f +=HfHy=6N% XO -?/--H?N/ POD@;@ @fZ09>H fBy>`-Bm `B0- Rm m+H URB@>-g G gP Gg 0`0- f-pL N^NuNV/ *n +=HfHy=6N% XOBm p?Hn-H?N/ PO @g,J@gH .f-f8 . f-fB@.`(09>H fBy>`-`-p*_N^NuNVH >.*n G f -g/ p ?N*\O @fp`0Sm l"/ N,lXO0f -S@;@ UR0L N^NuNVH >.*n G G f-g/ p ?N+X\O @gZBm -fN/ N,lXO0f@p?Hn-H?N0XPO @f0` 09>H fBy>`-pL N^NuNVH >.*n G f -g/ p ?N+\O @fp`?NAXO/N1XO`B@N^NuNV/Bg/.pl0H/N1XO`"?.N0TO=@m?.?N1XO0.N^NuNV/?.?. rF?NA\O>0f(?.N0TO=@m?.?. N1XO0. `0H/N1XO.N^NuNV?.N0TO @Cfp`B@N^NuNV?.?./. pB?NA /N1XON^NuNV/?. /.p=?NAPO.m:0H.mpF?0?N1XO` m n0?N1JTOH./N1XO.N^NuNVH A#=/9=N4XO0gB=p 3>p`?.N0TO @CfzB@9>>B@9>H>*@SnmSGl^pQ>B9>Hy>p ?NA\O>mp ?p?p?NM\Op>B@9>>B@9>H>*@0Gp H< Ff~` n R RE F ft >>>B=0`0/. 0.H/?.p??NA >B=0H/N1XOL N^NuNV/A#=/9=N4XO0gB=p 3>p`,/. 0.H/?.p@?NA .B=/N1XO.N^NuNVH >.0V@ @bH0@5 PN`*pP`&pA`"pC`0m*y=SGmfp`gHL N^NuNVH >.0m*y=SGmfp` g0. L N^NuNVH >.0V@ @bHH0@5 PN*y=HGg fp`&R` =?N-TO`~C`~A`~P`pL N^NuNV .l .D3>p` .N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉNNVH8..P b>d.9>/N5XO*@ Mg`J>f&M #>h#>d`& y>f QP&m`(y>Q L&h)M Q@* Ѝ#>(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*y>d gr .gH g @є .*L(Mc2  d @*`* Ѝ#>d y>d X`dJg @Ѝ*@`*m>df g#>dRy>l09>l @e Sy>l`X/N2XO/.N3XO*@Sy>l L0N^NuNVp0./N3XON^NuNVH .Y*@Jf4~0G>nJg 0RG0@>nH?p?p?NM\O`N,L N^Nu O$X"XHB@Nu o0/L.NuNVH.. l <`0 f 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/N5XON^NuD!PO!U!X!c" d!e!f!g!o!Hr"s!u!8x!LD0123456789ABCDEF000111Removing all files from path = %s *.*Deleting %s 'USAGE: FARCLZH.TTP [RESET] Forem ARC To LZH File Converter Program 4.1 Copyright 1989 by William K. Day Dragon's Egg II BBS Fnet Node 398 rCan't open Set file %s RESETaCan't open %s FARCLZH.TTP Start Run at %s on %s FARCLZH.TTP Start Run at %s on %s FOREM.OPTrCan't open %s CONFIG.DATCan't open %s Time Limit this run = %d seconds. \.DIRSearching %s Can't open %s Number of records modified = %d Number of records modified = %d FARCLZH.TTP End Run at %s on %s FARCLZH.TTP End Run at %s on %s * File in do not convert list %s * File in do not convert list %s Error in unarcing %s (error = %d), retaining original. Error in unarcing %s (error = %d), retaining original. Sub-arc error in unarcing %s (error = %d), retaining original. Sub-arc error in unarcing %s (error = %d), retaining original. * File extension in do not convert extension list %s * File extension in do not convert extension list %s \LZH*.ARC\*.*\.LZH Time Left = %d seconds. FARCLZH.EXTrCan't open %s FARCLZH.NOTrCan't open %s FARCLZH.FLDrCan't open %s LZH%s = %D bytes %s = %D bytes LZHARC\ * Found bad file %s * Found bad file %s Copying %s to temp file %s Decompression program not found: %s Decompression program not found: %s Compression program not found: %s Compression program not found: %s TEST.TMPTemp Path does not exist: %s Temp Path does not exist: %s %02d:%s:%s%02d/%02d/%4d*.LZH AN *.LZHLHARC = %s%s LHARC = %s%s PATH= A *.*LHARC = %s%s LHARC = %s%s PATH= * Arc file not found %s * Arc file not found %s X *.* ARC = %s%s ARC = %s%s PATH={NULL} You must compile with the -f option to include printf() floating point! ((!((!((#==6=PF=CCAP? @ P@    @ Bad pointer in free.  0p5 $L"2$ , " :V*                                                               8   Z  :    : "                      "   $&       :Xf X h6 H    82    : "    &vFP( LD" d$4F0",p$  .6*"  "$j:BX<$<H"8*046  & 6&  &(2> 0@  @J$  $N$ JH