home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / unix_c / arcprogs / arcsrc.tar < prev    next >
Tape Archive  |  1989-06-09  |  636.0 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Tape Archive (archive/tar).

You can browse this item here: arcsrc.tar

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Tape Archive (archive/tar) magic Supported
100% file tar archive default
99% file tar archive (V7), file arc/, mode 755 , uid 334 , gid 144 , size 0 , seconds 4440156616 default
98% file data default
100% TrID Sybase iAnywhere database files default (weak)
100% siegfried x-fmt/265 Tape Archive Format default
100% lsar Tar default
100% gt2 TAR Archiv gefunden (Auflistung ist deaktiviert) default
100% disktype Pre-POSIX tar archive default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 61 72 63 2f 00 00 00 00 | 00 00 00 00 00 00 00 00 |arc/....|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 20 20 33 |.... 7|55 . 3|
|00000070| 33 34 20 00 20 20 20 31 | 34 34 20 00 20 20 20 20 |34 . 1|44 . |
|00000080| 20 20 20 20 20 20 30 20 | 20 34 34 34 30 31 35 36 | 0 | 4440156|
|00000090| 36 31 36 20 20 20 34 36 | 31 36 00 20 00 00 00 00 |616 46|16. ....|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 61 72 63 2f 4d 61 6b 65 | 66 69 6c 65 00 00 00 00 |arc/Make|file....|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 20 20 20 36 | 34 34 20 00 20 20 20 33 |.... 6|44 . 3|
|00000270| 33 34 20 00 20 20 20 31 | 34 34 20 00 20 20 20 20 |34 . 1|44 . |
|00000280| 20 20 20 37 31 37 35 20 | 20 34 34 33 33 35 33 30 | 7175 | 4433530|
|00000290| 37 32 36 20 20 20 36 33 | 35 35 00 20 00 00 00 00 |726 63|55. ....|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 23 0a 23 20 20 20 20 20 | 20 20 4d 61 6b 65 66 69 |#.# | Makefi|
|00000410| 6c 65 20 66 6f 72 20 48 | 61 63 6b 2d 61 74 74 61 |le for H|ack-atta|
|00000420| 63 6b 20 31 2e 33 0a 23 | 20 20 20 20 20 20 20 56 |ck 1.3.#| V|
|00000430| 41 58 20 31 31 2f 37 38 | 30 20 42 53 44 34 2e 32 |AX 11/78|0 BSD4.2|
|00000440| 20 22 41 52 43 22 20 75 | 74 69 6c 69 74 79 0a 23 | "ARC" u|tility.#|
|00000450| 0a 23 20 4f 72 69 67 69 | 6e 61 6c 73 20 66 72 6f |.# Origi|nals fro|
|00000460| 6d 20 44 61 6e 20 4c 61 | 6e 63 69 61 6e 69 2c 20 |m Dan La|nciani, |
|00000470| 4a 61 6d 65 73 20 54 75 | 72 6e 65 72 2c 20 61 6e |James Tu|rner, an|
|00000480| 64 20 6f 74 68 65 72 73 | 2e 2e 2e 0a 23 0a 23 20 |d others|....#.# |
|00000490| 4d 6f 64 69 66 69 65 64 | 20 74 6f 20 73 75 70 70 |Modified| to supp|
|000004a0| 6f 72 74 20 73 71 75 61 | 73 68 69 6e 67 2c 20 61 |ort squa|shing, a|
|000004b0| 6c 73 6f 20 61 64 64 65 | 64 20 74 61 72 67 65 74 |lso adde|d target|
|000004c0| 73 20 66 6f 72 20 74 68 | 65 20 74 69 6d 65 20 72 |s for th|e time r|
|000004d0| 6f 75 74 69 6e 65 0a 23 | 20 6c 69 62 72 61 72 79 |outine.#| library|
|000004e0| 2e 20 20 2d 2d 20 48 6f | 77 61 72 64 20 43 68 75 |. -- Ho|ward Chu|
|000004f0| 2c 20 68 79 63 40 75 6d | 69 78 2e 63 63 2e 75 6d |, hyc@um|ix.cc.um|
|00000500| 69 63 68 2e 65 64 75 2c | 20 34 2d 31 31 2d 38 38 |ich.edu,| 4-11-88|
|00000510| 0a 23 0a 23 20 4d 6f 64 | 69 66 69 65 64 20 61 67 |.#.# Mod|ified ag|
|00000520| 61 69 6e 20 62 79 20 4a | 6f 68 6e 20 47 69 6c 6d |ain by J|ohn Gilm|
|00000530| 6f 72 65 20 26 20 48 6f | 77 61 72 64 20 43 68 75 |ore & Ho|ward Chu|
|00000540| 2c 20 4a 75 6c 79 20 31 | 39 38 38 2e 0a 23 0a 23 |, July 1|988..#.#|
|00000550| 20 49 20 70 75 74 20 53 | 52 43 44 49 52 20 6f 6e | I put S|RCDIR on|
|00000560| 20 61 20 72 65 61 6c 20 | 64 69 73 6b 20 6f 6e 20 | a real |disk on |
|00000570| 74 68 65 20 53 54 2c 20 | 62 75 74 20 63 6f 70 79 |the ST, |but copy|
|00000580| 20 74 68 65 20 6d 61 6b | 65 66 69 6c 65 20 74 6f | the mak|efile to|
|00000590| 20 61 0a 23 20 52 41 4d | 64 69 73 6b 20 61 6e 64 | a.# RAM|disk and|
|000005a0| 20 63 6f 6d 70 69 6c 65 | 20 66 72 6f 6d 20 74 68 | compile| from th|
|000005b0| 65 72 65 2e 20 4d 61 6b | 65 73 20 74 68 69 6e 67 |ere. Mak|es thing|
|000005c0| 73 20 67 6f 20 61 20 62 | 69 74 20 71 75 69 63 6b |s go a b|it quick|
|000005d0| 65 72 2e 2e 2e 0a 23 20 | 54 68 69 73 20 68 61 73 |er....# |This has|
|000005e0| 20 74 6f 20 62 65 20 64 | 6f 6e 65 20 69 6e 20 74 | to be d|one in t|
|000005f0| 68 65 20 73 68 65 6c 6c | 2c 20 74 6f 20 67 65 74 |he shell|, to get|
|00000600| 20 74 68 65 20 74 72 61 | 69 6c 69 6e 67 20 62 61 | the tra|iling ba|
|00000610| 63 6b 73 6c 61 73 68 0a | 23 20 73 70 65 63 69 66 |ckslash.|# specif|
|00000620| 69 65 64 20 63 6f 72 72 | 65 63 74 6c 79 2e 20 65 |ied corr|ectly. e|
|00000630| 2e 67 2e 2c 20 73 65 74 | 65 6e 76 20 53 52 43 44 |.g., set|env SRCD|
|00000640| 49 52 3d 27 64 3a 5c 73 | 72 63 5c 61 72 63 5c 27 |IR='d:\s|rc\arc\'|
|00000650| 0a 53 52 43 44 49 52 20 | 3d 20 0a 0a 48 45 41 44 |.SRCDIR |= ..HEAD|
|00000660| 45 52 20 3d 20 24 28 53 | 52 43 44 49 52 29 61 72 |ER = $(S|RCDIR)ar|
|00000670| 63 2e 68 20 24 28 53 52 | 43 44 49 52 29 61 72 63 |c.h $(SR|CDIR)arc|
|00000680| 73 2e 68 0a 0a 23 20 41 | 64 64 20 61 20 22 2e 54 |s.h..# A|dd a ".T|
|00000690| 54 50 22 20 73 75 66 66 | 69 78 20 74 6f 20 74 68 |TP" suff|ix to th|
|000006a0| 65 20 65 78 65 63 75 74 | 61 62 6c 65 20 66 69 6c |e execut|able fil|
|000006b0| 65 73 20 6f 6e 20 61 6e | 20 53 54 2e 0a 23 50 52 |es on an| ST..#PR|
|000006c0| 4f 47 20 3d 20 2e 74 74 | 70 0a 50 52 4f 47 20 3d |OG = .tt|p.PROG =|
|000006d0| 0a 0a 23 20 53 59 53 54 | 45 4d 20 64 65 66 69 6e |..# SYST|EM defin|
|000006e0| 65 73 20 79 6f 75 72 20 | 6f 70 65 72 61 74 69 6e |es your |operatin|
|000006f0| 67 20 73 79 73 74 65 6d | 3a 0a 23 20 4d 53 44 4f |g system|:.# MSDO|
|00000700| 53 20 66 6f 72 20 49 42 | 4d 20 50 43 73 20 6f 72 |S for IB|M PCs or|
|00000710| 20 6f 74 68 65 72 20 4d | 53 44 4f 53 20 6d 61 63 | other M|SDOS mac|
|00000720| 68 69 6e 65 73 0a 23 20 | 47 45 4d 44 4f 53 20 66 |hines.# |GEMDOS f|
|00000730| 6f 72 20 41 74 61 72 69 | 20 53 54 20 28 50 72 65 |or Atari| ST (Pre|
|00000740| 64 65 66 69 6e 65 64 20 | 62 79 20 4d 57 43 2c 20 |defined |by MWC, |
|00000750| 73 6f 20 79 6f 75 20 64 | 6f 6e 27 74 20 6e 65 65 |so you d|on't nee|
|00000760| 64 20 74 6f 20 64 65 66 | 69 6e 65 20 69 74 2e 29 |d to def|ine it.)|
|00000770| 0a 23 20 42 53 44 20 66 | 6f 72 20 42 65 72 6b 65 |.# BSD f|or Berke|
|00000780| 6c 65 79 20 55 6e 69 78 | 0a 23 20 53 59 53 56 20 |ley Unix|.# SYSV |
|00000790| 66 6f 72 20 41 54 26 54 | 20 53 79 73 74 65 6d 20 |for AT&T| System |
|000007a0| 56 20 55 6e 69 78 0a 23 | 20 28 4d 54 53 20 66 6f |V Unix.#| (MTS fo|
|000007b0| 72 20 4d 69 63 68 69 67 | 61 6e 20 54 65 72 6d 69 |r Michig|an Termi|
|000007c0| 6e 61 6c 20 53 79 73 74 | 65 6d 2c 20 77 68 69 63 |nal Syst|em, whic|
|000007d0| 68 20 72 65 71 75 69 72 | 65 73 20 61 20 64 69 66 |h requir|es a dif|
|000007e0| 66 65 72 65 6e 74 20 6d | 61 6b 65 66 69 6c 65 29 |ferent m|akefile)|
|000007f0| 0a 23 20 28 4d 54 53 20 | 61 6c 73 6f 20 72 65 71 |.# (MTS |also req|
|00000800| 75 69 72 65 73 20 6f 6e | 65 20 6f 66 20 55 53 45 |uires on|e of USE|
|00000810| 47 46 49 4e 46 4f 20 6f | 72 20 55 53 45 43 41 54 |GFINFO o|r USECAT|
|00000820| 53 43 41 4e 20 66 6f 72 | 20 64 69 72 65 63 74 6f |SCAN for| directo|
|00000830| 72 79 20 73 65 61 72 63 | 68 29 0a 53 59 53 54 45 |ry searc|h).SYSTE|
|00000840| 4d 20 3d 20 2d 44 42 53 | 44 3d 31 0a 0a 23 20 46 |M = -DBS|D=1..# F|
|00000850| 6f 72 20 4d 57 43 20 33 | 2e 30 20 6f 6e 20 74 68 |or MWC 3|.0 on th|
|00000860| 65 20 41 74 61 72 69 20 | 53 54 2c 20 75 73 65 3a |e Atari |ST, use:|
|00000870| 0a 23 43 46 4c 41 47 53 | 20 3d 20 2d 56 43 4f 4d |.#CFLAGS| = -VCOM|
|00000880| 50 41 43 20 2d 56 50 45 | 45 50 0a 43 46 4c 41 47 |PAC -VPE|EP.CFLAG|
|00000890| 53 20 3d 20 2d 4f 20 24 | 28 53 59 53 54 45 4d 29 |S = -O $|(SYSTEM)|
|000008a0| 0a 0a 23 20 47 4e 55 27 | 73 20 67 63 63 20 69 73 |..# GNU'|s gcc is|
|000008b0| 20 76 65 72 79 20 6e 69 | 63 65 2c 20 69 66 20 79 | very ni|ce, if y|
|000008c0| 6f 75 27 76 65 20 67 6f | 74 20 69 74 2e 20 4f 74 |ou've go|t it. Ot|
|000008d0| 68 65 72 77 69 73 65 20 | 6a 75 73 74 20 63 63 2e |herwise |just cc.|
|000008e0| 0a 23 43 43 20 3d 20 63 | 63 0a 0a 23 20 74 6d 63 |.#CC = c|c..# tmc|
|000008f0| 6c 6f 63 6b 20 69 73 20 | 6f 6e 6c 79 20 6e 65 65 |lock is |only nee|
|00000900| 64 65 64 20 6f 6e 20 55 | 6e 69 78 20 73 79 73 74 |ded on U|nix syst|
|00000910| 65 6d 73 2e 2e 2e 0a 54 | 4d 43 4c 4f 43 4b 20 3d |ems....T|MCLOCK =|
|00000920| 20 74 6d 63 6c 6f 63 6b | 2e 6f 0a 0a 23 20 46 69 | tmclock|.o..# Fi|
|00000930| 6c 65 73 20 6e 65 65 64 | 65 64 20 66 6f 72 20 53 |les need|ed for S|
|00000940| 79 73 74 65 6d 20 56 20 | 0a 23 53 59 53 56 4f 42 |ystem V |.#SYSVOB|
|00000950| 4a 20 3d 09 67 65 74 77 | 64 2e 6f 20 72 65 6e 61 |J =.getw|d.o rena|
|00000960| 6d 65 2e 6f 20 73 63 61 | 6e 64 69 72 2e 6f 20 75 |me.o sca|ndir.o u|
|00000970| 74 69 6d 65 73 2e 6f 0a | 53 59 53 56 4f 42 4a 20 |times.o.|SYSVOBJ |
|00000980| 3d 0a 0a 4f 42 4a 53 20 | 3d 20 61 72 63 2e 6f 20 |=..OBJS |= arc.o |
|00000990| 61 72 63 61 64 64 2e 6f | 20 61 72 63 63 6f 64 65 |arcadd.o| arccode|
|000009a0| 2e 6f 20 61 72 63 63 76 | 74 2e 6f 20 61 72 63 64 |.o arccv|t.o arcd|
|000009b0| 61 74 61 2e 6f 20 61 72 | 63 64 65 6c 2e 6f 20 61 |ata.o ar|cdel.o a|
|000009c0| 72 63 64 6f 73 2e 6f 20 | 5c 0a 61 72 63 65 78 74 |rcdos.o |\.arcext|
|000009d0| 2e 6f 20 61 72 63 69 6f | 2e 6f 20 61 72 63 6c 73 |.o arcio|.o arcls|
|000009e0| 74 2e 6f 20 61 72 63 6c | 7a 77 2e 6f 20 61 72 63 |t.o arcl|zw.o arc|
|000009f0| 6d 61 74 63 68 2e 6f 20 | 61 72 63 70 61 63 6b 2e |match.o |arcpack.|
|00000a00| 6f 20 61 72 63 72 75 6e | 2e 6f 20 5c 0a 61 72 63 |o arcrun|.o \.arc|
|00000a10| 73 71 2e 6f 20 61 72 63 | 73 71 73 2e 6f 20 61 72 |sq.o arc|sqs.o ar|
|00000a20| 63 73 76 63 2e 6f 20 61 | 72 63 74 73 74 2e 6f 20 |csvc.o a|rctst.o |
|00000a30| 61 72 63 75 6e 70 2e 6f | 20 61 72 63 75 73 71 2e |arcunp.o| arcusq.|
|00000a40| 6f 20 61 72 63 6d 69 73 | 63 2e 6f 20 24 28 53 59 |o arcmis|c.o $(SY|
|00000a50| 53 56 4f 42 4a 29 0a 0a | 4d 4f 42 4a 20 3d 20 6d |SVOBJ)..|MOBJ = m|
|00000a60| 61 72 63 2e 6f 20 61 72 | 63 64 61 74 61 2e 6f 20 |arc.o ar|cdata.o |
|00000a70| 61 72 63 64 6f 73 2e 6f | 20 61 72 63 69 6f 2e 6f |arcdos.o| arcio.o|
|00000a80| 20 61 72 63 6d 61 74 63 | 68 2e 6f 20 61 72 63 6d | arcmatc|h.o arcm|
|00000a90| 69 73 63 2e 6f 20 24 28 | 53 59 53 56 4f 42 4a 29 |isc.o $(|SYSVOBJ)|
|00000aa0| 0a 0a 61 72 63 24 28 50 | 52 4f 47 29 3a 09 24 28 |..arc$(P|ROG):.$(|
|00000ab0| 4f 42 4a 53 29 20 24 28 | 54 4d 43 4c 4f 43 4b 29 |OBJS) $(|TMCLOCK)|
|00000ac0| 0a 09 24 28 43 43 29 20 | 2d 6f 20 61 72 63 24 28 |..$(CC) |-o arc$(|
|00000ad0| 50 52 4f 47 29 20 24 28 | 4f 42 4a 53 29 20 24 28 |PROG) $(|OBJS) $(|
|00000ae0| 54 4d 43 4c 4f 43 4b 29 | 0a 0a 6d 61 72 63 24 28 |TMCLOCK)|..marc$(|
|00000af0| 50 52 4f 47 29 3a 09 24 | 28 4d 4f 42 4a 29 20 24 |PROG):.$|(MOBJ) $|
|00000b00| 28 54 4d 43 4c 4f 43 4b | 29 0a 09 24 28 43 43 29 |(TMCLOCK|)..$(CC)|
|00000b10| 20 2d 6f 20 6d 61 72 63 | 24 28 50 52 4f 47 29 20 | -o marc|$(PROG) |
|00000b20| 24 28 4d 4f 42 4a 29 20 | 24 28 54 4d 43 4c 4f 43 |$(MOBJ) |$(TMCLOC|
|00000b30| 4b 29 0a 0a 63 6c 65 61 | 6e 3a 0a 09 2d 72 6d 20 |K)..clea|n:..-rm |
|00000b40| 2a 2e 6f 20 61 72 63 24 | 28 50 52 4f 47 29 20 6d |*.o arc$|(PROG) m|
|00000b50| 61 72 63 24 28 50 52 4f | 47 29 0a 0a 61 72 63 2e |arc$(PRO|G)..arc.|
|00000b60| 6f 3a 09 24 28 53 52 43 | 44 49 52 29 61 72 63 2e |o:.$(SRC|DIR)arc.|
|00000b70| 63 09 24 28 48 45 41 44 | 45 52 29 0a 09 24 28 43 |c.$(HEAD|ER)..$(C|
|00000b80| 43 29 20 24 28 43 46 4c | 41 47 53 29 20 2d 63 20 |C) $(CFL|AGS) -c |
|00000b90| 24 28 53 52 43 44 49 52 | 29 61 72 63 2e 63 0a 6d |$(SRCDIR|)arc.c.m|
|00000ba0| 61 72 63 2e 6f 3a 09 24 | 28 53 52 43 44 49 52 29 |arc.o:.$|(SRCDIR)|
|00000bb0| 6d 61 72 63 2e 63 09 24 | 28 48 45 41 44 45 52 29 |marc.c.$|(HEADER)|
|00000bc0| 0a 09 24 28 43 43 29 20 | 24 28 43 46 4c 41 47 53 |..$(CC) |$(CFLAGS|
|00000bd0| 29 20 2d 63 20 24 28 53 | 52 43 44 49 52 29 6d 61 |) -c $(S|RCDIR)ma|
|00000be0| 72 63 2e 63 0a 61 72 63 | 61 64 64 2e 6f 3a 09 24 |rc.c.arc|add.o:.$|
|00000bf0| 28 53 52 43 44 49 52 29 | 61 72 63 61 64 64 2e 63 |(SRCDIR)|arcadd.c|
|00000c00| 09 24 28 48 45 41 44 45 | 52 29 0a 09 24 28 43 43 |.$(HEADE|R)..$(CC|
|00000c10| 29 20 24 28 43 46 4c 41 | 47 53 29 20 2d 63 20 24 |) $(CFLA|GS) -c $|
|00000c20| 28 53 52 43 44 49 52 29 | 61 72 63 61 64 64 2e 63 |(SRCDIR)|arcadd.c|
|00000c30| 0a 61 72 63 63 6f 64 65 | 2e 6f 3a 09 24 28 53 52 |.arccode|.o:.$(SR|
|00000c40| 43 44 49 52 29 61 72 63 | 63 6f 64 65 2e 63 09 24 |CDIR)arc|code.c.$|
|00000c50| 28 48 45 41 44 45 52 29 | 0a 09 24 28 43 43 29 20 |(HEADER)|..$(CC) |
|00000c60| 24 28 43 46 4c 41 47 53 | 29 20 2d 63 20 24 28 53 |$(CFLAGS|) -c $(S|
|00000c70| 52 43 44 49 52 29 61 72 | 63 63 6f 64 65 2e 63 0a |RCDIR)ar|ccode.c.|
|00000c80| 61 72 63 63 76 74 2e 6f | 3a 09 24 28 53 52 43 44 |arccvt.o|:.$(SRCD|
|00000c90| 49 52 29 61 72 63 63 76 | 74 2e 63 09 24 28 48 45 |IR)arccv|t.c.$(HE|
|00000ca0| 41 44 45 52 29 0a 09 24 | 28 43 43 29 20 24 28 43 |ADER)..$|(CC) $(C|
|00000cb0| 46 4c 41 47 53 29 20 2d | 63 20 24 28 53 52 43 44 |FLAGS) -|c $(SRCD|
|00000cc0| 49 52 29 61 72 63 63 76 | 74 2e 63 0a 61 72 63 64 |IR)arccv|t.c.arcd|
|00000cd0| 61 74 61 2e 6f 3a 09 24 | 28 53 52 43 44 49 52 29 |ata.o:.$|(SRCDIR)|
|00000ce0| 61 72 63 64 61 74 61 2e | 63 09 24 28 48 45 41 44 |arcdata.|c.$(HEAD|
|00000cf0| 45 52 29 0a 09 24 28 43 | 43 29 20 24 28 43 46 4c |ER)..$(C|C) $(CFL|
|00000d00| 41 47 53 29 20 2d 63 20 | 24 28 53 52 43 44 49 52 |AGS) -c |$(SRCDIR|
|00000d10| 29 61 72 63 64 61 74 61 | 2e 63 0a 61 72 63 64 65 |)arcdata|.c.arcde|
|00000d20| 6c 2e 6f 3a 09 24 28 53 | 52 43 44 49 52 29 61 72 |l.o:.$(S|RCDIR)ar|
|00000d30| 63 64 65 6c 2e 63 09 24 | 28 48 45 41 44 45 52 29 |cdel.c.$|(HEADER)|
|00000d40| 0a 09 24 28 43 43 29 20 | 24 28 43 46 4c 41 47 53 |..$(CC) |$(CFLAGS|
|00000d50| 29 20 2d 63 20 24 28 53 | 52 43 44 49 52 29 61 72 |) -c $(S|RCDIR)ar|
|00000d60| 63 64 65 6c 2e 63 0a 61 | 72 63 64 69 72 2e 6f 3a |cdel.c.a|rcdir.o:|
|00000d70| 09 24 28 53 52 43 44 49 | 52 29 61 72 63 64 69 72 |.$(SRCDI|R)arcdir|
|00000d80| 2e 63 09 24 28 48 45 41 | 44 45 52 29 0a 09 24 28 |.c.$(HEA|DER)..$(|
|00000d90| 43 43 29 20 24 28 43 46 | 4c 41 47 53 29 20 2d 63 |CC) $(CF|LAGS) -c|
|00000da0| 20 24 28 53 52 43 44 49 | 52 29 61 72 63 64 69 72 | $(SRCDI|R)arcdir|
|00000db0| 2e 63 0a 61 72 63 64 6f | 73 2e 6f 3a 09 24 28 53 |.c.arcdo|s.o:.$(S|
|00000dc0| 52 43 44 49 52 29 61 72 | 63 64 6f 73 2e 63 09 24 |RCDIR)ar|cdos.c.$|
|00000dd0| 28 48 45 41 44 45 52 29 | 20 24 28 54 57 48 45 41 |(HEADER)| $(TWHEA|
|00000de0| 44 29 0a 09 24 28 43 43 | 29 20 24 28 43 46 4c 41 |D)..$(CC|) $(CFLA|
|00000df0| 47 53 29 20 2d 63 20 24 | 28 53 52 43 44 49 52 29 |GS) -c $|(SRCDIR)|
|00000e00| 61 72 63 64 6f 73 2e 63 | 0a 61 72 63 65 78 74 2e |arcdos.c|.arcext.|
|00000e10| 6f 3a 09 24 28 53 52 43 | 44 49 52 29 61 72 63 65 |o:.$(SRC|DIR)arce|
|00000e20| 78 74 2e 63 09 24 28 48 | 45 41 44 45 52 29 0a 09 |xt.c.$(H|EADER)..|
|00000e30| 24 28 43 43 29 20 24 28 | 43 46 4c 41 47 53 29 20 |$(CC) $(|CFLAGS) |
|00000e40| 2d 63 20 24 28 53 52 43 | 44 49 52 29 61 72 63 65 |-c $(SRC|DIR)arce|
|00000e50| 78 74 2e 63 0a 61 72 63 | 69 6f 2e 6f 3a 09 24 28 |xt.c.arc|io.o:.$(|
|00000e60| 53 52 43 44 49 52 29 61 | 72 63 69 6f 2e 63 09 24 |SRCDIR)a|rcio.c.$|
|00000e70| 28 48 45 41 44 45 52 29 | 0a 09 24 28 43 43 29 20 |(HEADER)|..$(CC) |
|00000e80| 24 28 43 46 4c 41 47 53 | 29 20 2d 63 20 24 28 53 |$(CFLAGS|) -c $(S|
|00000e90| 52 43 44 49 52 29 61 72 | 63 69 6f 2e 63 0a 61 72 |RCDIR)ar|cio.c.ar|
|00000ea0| 63 6c 73 74 2e 6f 3a 09 | 24 28 53 52 43 44 49 52 |clst.o:.|$(SRCDIR|
|00000eb0| 29 61 72 63 6c 73 74 2e | 63 09 24 28 48 45 41 44 |)arclst.|c.$(HEAD|
|00000ec0| 45 52 29 0a 09 24 28 43 | 43 29 20 24 28 43 46 4c |ER)..$(C|C) $(CFL|
|00000ed0| 41 47 53 29 20 2d 63 20 | 24 28 53 52 43 44 49 52 |AGS) -c |$(SRCDIR|
|00000ee0| 29 61 72 63 6c 73 74 2e | 63 0a 61 72 63 6c 7a 77 |)arclst.|c.arclzw|
|00000ef0| 2e 6f 3a 09 24 28 53 52 | 43 44 49 52 29 61 72 63 |.o:.$(SR|CDIR)arc|
|00000f00| 6c 7a 77 2e 63 09 24 28 | 48 45 41 44 45 52 29 0a |lzw.c.$(|HEADER).|
|00000f10| 09 24 28 43 43 29 20 24 | 28 43 46 4c 41 47 53 29 |.$(CC) $|(CFLAGS)|
|00000f20| 20 2d 63 20 24 28 53 52 | 43 44 49 52 29 61 72 63 | -c $(SR|CDIR)arc|
|00000f30| 6c 7a 77 2e 63 0a 61 72 | 63 6d 61 74 63 68 2e 6f |lzw.c.ar|cmatch.o|
|00000f40| 3a 09 24 28 53 52 43 44 | 49 52 29 61 72 63 6d 61 |:.$(SRCD|IR)arcma|
|00000f50| 74 63 68 2e 63 09 24 28 | 48 45 41 44 45 52 29 0a |tch.c.$(|HEADER).|
|00000f60| 09 24 28 43 43 29 20 24 | 28 43 46 4c 41 47 53 29 |.$(CC) $|(CFLAGS)|
|00000f70| 20 2d 63 20 24 28 53 52 | 43 44 49 52 29 61 72 63 | -c $(SR|CDIR)arc|
|00000f80| 6d 61 74 63 68 2e 63 0a | 61 72 63 6d 69 73 63 2e |match.c.|arcmisc.|
|00000f90| 6f 3a 09 24 28 53 52 43 | 44 49 52 29 61 72 63 6d |o:.$(SRC|DIR)arcm|
|00000fa0| 69 73 63 2e 63 09 24 28 | 48 45 41 44 45 52 29 0a |isc.c.$(|HEADER).|
|00000fb0| 09 24 28 43 43 29 20 24 | 28 43 46 4c 41 47 53 29 |.$(CC) $|(CFLAGS)|
|00000fc0| 20 2d 63 20 24 28 53 52 | 43 44 49 52 29 61 72 63 | -c $(SR|CDIR)arc|
|00000fd0| 6d 69 73 63 2e 63 0a 61 | 72 63 70 61 63 6b 2e 6f |misc.c.a|rcpack.o|
|00000fe0| 3a 09 24 28 53 52 43 44 | 49 52 29 61 72 63 70 61 |:.$(SRCD|IR)arcpa|
|00000ff0| 63 6b 2e 63 09 24 28 48 | 45 41 44 45 52 29 0a 09 |ck.c.$(H|EADER)..|
|00001000| 24 28 43 43 29 20 24 28 | 43 46 4c 41 47 53 29 20 |$(CC) $(|CFLAGS) |
|00001010| 2d 63 20 24 28 53 52 43 | 44 49 52 29 61 72 63 70 |-c $(SRC|DIR)arcp|
|00001020| 61 63 6b 2e 63 0a 61 72 | 63 72 75 6e 2e 6f 3a 09 |ack.c.ar|crun.o:.|
|00001030| 24 28 53 52 43 44 49 52 | 29 61 72 63 72 75 6e 2e |$(SRCDIR|)arcrun.|
|00001040| 63 09 24 28 48 45 41 44 | 45 52 29 0a 09 24 28 43 |c.$(HEAD|ER)..$(C|
|00001050| 43 29 20 24 28 43 46 4c | 41 47 53 29 20 2d 63 20 |C) $(CFL|AGS) -c |
|00001060| 24 28 53 52 43 44 49 52 | 29 61 72 63 72 75 6e 2e |$(SRCDIR|)arcrun.|
|00001070| 63 0a 61 72 63 73 71 2e | 6f 3a 09 24 28 53 52 43 |c.arcsq.|o:.$(SRC|
|00001080| 44 49 52 29 61 72 63 73 | 71 2e 63 09 24 28 48 45 |DIR)arcs|q.c.$(HE|
|00001090| 41 44 45 52 29 0a 09 24 | 28 43 43 29 20 24 28 43 |ADER)..$|(CC) $(C|
|000010a0| 46 4c 41 47 53 29 20 2d | 63 20 24 28 53 52 43 44 |FLAGS) -|c $(SRCD|
|000010b0| 49 52 29 61 72 63 73 71 | 2e 63 0a 61 72 63 73 71 |IR)arcsq|.c.arcsq|
|000010c0| 73 2e 6f 3a 09 24 28 53 | 52 43 44 49 52 29 61 72 |s.o:.$(S|RCDIR)ar|
|000010d0| 63 73 71 73 2e 63 09 24 | 28 48 45 41 44 45 52 29 |csqs.c.$|(HEADER)|
|000010e0| 0a 09 24 28 43 43 29 20 | 24 28 43 46 4c 41 47 53 |..$(CC) |$(CFLAGS|
|000010f0| 29 20 2d 63 20 24 28 53 | 52 43 44 49 52 29 61 72 |) -c $(S|RCDIR)ar|
|00001100| 63 73 71 73 2e 63 0a 61 | 72 63 73 76 63 2e 6f 3a |csqs.c.a|rcsvc.o:|
|00001110| 09 24 28 53 52 43 44 49 | 52 29 61 72 63 73 76 63 |.$(SRCDI|R)arcsvc|
|00001120| 2e 63 09 24 28 48 45 41 | 44 45 52 29 0a 09 24 28 |.c.$(HEA|DER)..$(|
|00001130| 43 43 29 20 24 28 43 46 | 4c 41 47 53 29 20 2d 63 |CC) $(CF|LAGS) -c|
|00001140| 20 24 28 53 52 43 44 49 | 52 29 61 72 63 73 76 63 | $(SRCDI|R)arcsvc|
|00001150| 2e 63 0a 61 72 63 74 73 | 74 2e 6f 3a 09 24 28 53 |.c.arcts|t.o:.$(S|
|00001160| 52 43 44 49 52 29 61 72 | 63 74 73 74 2e 63 09 24 |RCDIR)ar|ctst.c.$|
|00001170| 28 48 45 41 44 45 52 29 | 0a 09 24 28 43 43 29 20 |(HEADER)|..$(CC) |
|00001180| 24 28 43 46 4c 41 47 53 | 29 20 2d 63 20 24 28 53 |$(CFLAGS|) -c $(S|
|00001190| 52 43 44 49 52 29 61 72 | 63 74 73 74 2e 63 0a 61 |RCDIR)ar|ctst.c.a|
|000011a0| 72 63 75 6e 70 2e 6f 3a | 09 24 28 53 52 43 44 49 |rcunp.o:|.$(SRCDI|
|000011b0| 52 29 61 72 63 75 6e 70 | 2e 63 09 24 28 48 45 41 |R)arcunp|.c.$(HEA|
|000011c0| 44 45 52 29 0a 09 24 28 | 43 43 29 20 24 28 43 46 |DER)..$(|CC) $(CF|
|000011d0| 4c 41 47 53 29 20 2d 63 | 20 24 28 53 52 43 44 49 |LAGS) -c| $(SRCDI|
|000011e0| 52 29 61 72 63 75 6e 70 | 2e 63 0a 61 72 63 75 73 |R)arcunp|.c.arcus|
|000011f0| 71 2e 6f 3a 09 24 28 53 | 52 43 44 49 52 29 61 72 |q.o:.$(S|RCDIR)ar|
|00001200| 63 75 73 71 2e 63 09 24 | 28 48 45 41 44 45 52 29 |cusq.c.$|(HEADER)|
|00001210| 0a 09 24 28 43 43 29 20 | 24 28 43 46 4c 41 47 53 |..$(CC) |$(CFLAGS|
|00001220| 29 20 2d 63 20 24 28 53 | 52 43 44 49 52 29 61 72 |) -c $(S|RCDIR)ar|
|00001230| 63 75 73 71 2e 63 0a 0a | 74 6d 63 6c 6f 63 6b 2e |cusq.c..|tmclock.|
|00001240| 6f 3a 09 24 28 53 52 43 | 44 49 52 29 74 6d 63 6c |o:.$(SRC|DIR)tmcl|
|00001250| 6f 63 6b 2e 63 0a 09 24 | 28 43 43 29 20 24 28 43 |ock.c..$|(CC) $(C|
|00001260| 46 4c 41 47 53 29 20 2d | 63 20 24 28 53 52 43 44 |FLAGS) -|c $(SRCD|
|00001270| 49 52 29 74 6d 63 6c 6f | 63 6b 2e 63 0a 6f 2e 6f |IR)tmclo|ck.c.o.o|
|00001280| 20 61 72 63 6d 61 74 63 | 68 2e 6f 20 61 72 63 6d | arcmatc|h.o arcm|
|00001290| 69 73 63 2e 6f 20 24 28 | 53 59 53 56 4f 42 4a 29 |isc.o $(|SYSVOBJ)|
|000012a0| 0a 0a 61 72 63 24 28 50 | 52 4f 47 29 3a 09 24 28 |..arc$(P|ROG):.$(|
|000012b0| 4f 42 4a 53 29 20 24 28 | 54 4d 43 4c 4f 43 4b 29 |OBJS) $(|TMCLOCK)|
|000012c0| 0a 09 24 28 43 43 29 20 | 2d 6f 20 61 72 63 24 28 |..$(CC) |-o arc$(|
|000012d0| 50 52 4f 47 29 20 24 28 | 4f 42 4a 53 29 20 24 28 |PROG) $(|OBJS) $(|
|000012e0| 54 4d 43 4c 4f 43 4b 29 | 0a 0a 6d 61 72 63 24 28 |TMCLOCK)|..marc$(|
|000012f0| 50 52 4f 47 29 3a 09 24 | 28 4d 4f 42 4a 29 20 24 |PROG):.$|(MOBJ) $|
|00001300| 28 54 4d 43 4c 4f 43 4b | 29 0a 09 24 28 43 43 29 |(TMCLOCK|)..$(CC)|
|00001310| 20 2d 6f 20 6d 61 72 63 | 24 28 50 52 4f 47 29 20 | -o marc|$(PROG) |
|00001320| 24 28 4d 4f 42 4a 29 20 | 24 28 54 4d 43 4c 4f 43 |$(MOBJ) |$(TMCLOC|
|00001330| 4b 29 0a 0a 63 6c 65 61 | 6e 3a 0a 09 2d 72 6d 20 |K)..clea|n:..-rm |
|00001340| 2a 2e 6f 20 61 72 63 24 | 28 50 52 4f 47 29 20 6d |*.o arc$|(PROG) m|
|00001350| 61 72 63 24 28 50 52 4f | 47 29 0a 0a 61 72 63 2e |arc$(PRO|G)..arc.|
|00001360| 6f 3a 09 24 28 53 52 43 | 44 49 52 29 61 72 63 2e |o:.$(SRC|DIR)arc.|
|00001370| 63 09 24 28 48 45 41 44 | 45 52 29 0a 09 24 28 43 |c.$(HEAD|ER)..$(C|
|00001380| 43 29 20 24 28 43 46 4c | 41 47 53 29 20 2d 63 20 |C) $(CFL|AGS) -c |
|00001390| 24 28 53 52 43 44 49 52 | 29 61 72 63 2e 63 0a 6d |$(SRCDIR|)arc.c.m|
|000013a0| 61 72 63 2e 6f 3a 09 24 | 28 53 52 43 44 49 52 29 |arc.o:.$|(SRCDIR)|
|000013b0| 6d 61 72 63 2e 63 09 24 | 28 48 45 41 44 45 52 29 |marc.c.$|(HEADER)|
|000013c0| 0a 09 24 28 43 43 29 20 | 24 28 43 46 4c 41 47 53 |..$(CC) |$(CFLAGS|
|000013d0| 29 20 2d 63 20 24 28 53 | 52 43 44 49 52 29 6d 61 |) -c $(S|RCDIR)ma|
|000013e0| 72 63 2e 63 0a 61 72 63 | 61 64 64 2e 6f 3a 09 24 |rc.c.arc|add.o:.$|
|000013f0| 28 53 52 43 44 49 52 29 | 61 72 63 61 64 64 2e 63 |(SRCDIR)|arcadd.c|
|00001400| 61 72 63 2f 61 72 63 2e | 63 00 00 00 00 00 00 00 |arc/arc.|c.......|
|00001410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001460| 00 00 00 00 20 20 20 34 | 34 34 20 00 20 20 20 33 |.... 4|44 . 3|
|00001470| 33 34 20 00 20 20 20 31 | 34 34 20 00 20 20 20 20 |34 . 1|44 . |
|00001480| 20 20 32 37 32 35 33 20 | 20 34 34 33 36 30 37 35 | 27253 | 4436075|
|00001490| 34 33 36 20 20 20 35 36 | 35 30 00 20 00 00 00 00 |436 56|50. ....|
|000014a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001600| 2f 2a 0a 20 2a 20 24 48 | 65 61 64 65 72 3a 20 61 |/*. * $H|eader: a|
|00001610| 72 63 2e 63 2c 76 20 31 | 2e 31 35 20 38 39 2f 30 |rc.c,v 1|.15 89/0|
|00001620| 35 2f 32 32 20 31 37 3a | 32 31 3a 34 35 20 68 79 |5/22 17:|21:45 hy|
|00001630| 63 20 45 78 70 20 24 0a | 20 2a 2f 0a 0a 2f 2a 20 |c Exp $.| */../* |
|00001640| 20 41 52 43 20 2d 20 41 | 72 63 68 69 76 65 20 75 | ARC - A|rchive u|
|00001650| 74 69 6c 69 74 79 0a 20 | 20 0a 20 20 20 20 56 65 |tility. | . Ve|
|00001660| 72 73 69 6f 6e 20 35 2e | 32 31 2c 20 63 72 65 61 |rsion 5.|21, crea|
|00001670| 74 65 64 20 6f 6e 20 30 | 34 2f 32 32 2f 38 37 20 |ted on 0|4/22/87 |
|00001680| 61 74 20 31 35 3a 30 35 | 3a 32 31 0a 20 20 0a 28 |at 15:05|:21. .(|
|00001690| 43 29 20 43 4f 50 59 52 | 49 47 48 54 20 31 39 38 |C) COPYR|IGHT 198|
|000016a0| 35 2d 38 37 20 62 79 20 | 53 79 73 74 65 6d 20 45 |5-87 by |System E|
|000016b0| 6e 68 61 6e 63 65 6d 65 | 6e 74 20 41 73 73 6f 63 |nhanceme|nt Assoc|
|000016c0| 69 61 74 65 73 3b 20 41 | 4c 4c 20 52 49 47 48 54 |iates; A|LL RIGHT|
|000016d0| 53 20 52 45 53 45 52 56 | 45 44 0a 20 20 0a 20 20 |S RESERV|ED. . |
|000016e0| 20 20 42 79 3a 09 20 54 | 68 6f 6d 20 48 65 6e 64 | By:. T|hom Hend|
|000016f0| 65 72 73 6f 6e 0a 20 20 | 0a 20 20 20 20 44 65 73 |erson. |. Des|
|00001700| 63 72 69 70 74 69 6f 6e | 3a 0a 09 20 54 68 69 73 |cription|:.. This|
|00001710| 20 70 72 6f 67 72 61 6d | 20 69 73 20 61 20 67 65 | program| is a ge|
|00001720| 6e 65 72 61 6c 20 61 72 | 63 68 69 76 65 20 75 74 |neral ar|chive ut|
|00001730| 69 6c 69 74 79 2c 20 61 | 6e 64 20 69 73 20 75 73 |ility, a|nd is us|
|00001740| 65 64 20 74 6f 20 6d 61 | 69 6e 74 61 69 6e 0a 09 |ed to ma|intain..|
|00001750| 20 61 6e 20 61 72 63 68 | 69 76 65 20 6f 66 20 66 | an arch|ive of f|
|00001760| 69 6c 65 73 2e 20 20 41 | 6e 20 22 61 72 63 68 69 |iles. A|n "archi|
|00001770| 76 65 22 20 69 73 20 61 | 20 73 69 6e 67 6c 65 20 |ve" is a| single |
|00001780| 66 69 6c 65 20 74 68 61 | 74 20 63 6f 6d 62 69 6e |file tha|t combin|
|00001790| 65 73 0a 09 20 6d 61 6e | 79 20 66 69 6c 65 73 2c |es.. man|y files,|
|000017a0| 20 72 65 64 75 63 69 6e | 67 20 73 74 6f 72 61 67 | reducin|g storag|
|000017b0| 65 20 73 70 61 63 65 20 | 61 6e 64 20 61 6c 6c 6f |e space |and allo|
|000017c0| 77 69 6e 67 20 6d 75 6c | 74 69 70 6c 65 20 66 69 |wing mul|tiple fi|
|000017d0| 6c 65 73 20 74 6f 0a 09 | 20 62 65 20 68 61 6e 64 |les to..| be hand|
|000017e0| 6c 65 64 20 61 73 20 6f | 6e 65 2e 0a 20 20 0a 20 |led as o|ne.. . |
|000017f0| 20 20 20 49 6e 73 74 72 | 75 63 74 69 6f 6e 73 3a | Instr|uctions:|
|00001800| 0a 09 20 52 75 6e 20 74 | 68 69 73 20 70 72 6f 67 |.. Run t|his prog|
|00001810| 72 61 6d 20 77 69 74 68 | 20 6e 6f 20 61 72 67 75 |ram with| no argu|
|00001820| 6d 65 6e 74 73 20 66 6f | 72 20 63 6f 6d 70 6c 65 |ments fo|r comple|
|00001830| 74 65 20 69 6e 73 74 72 | 75 63 74 69 6f 6e 73 2e |te instr|uctions.|
|00001840| 0a 20 20 0a 20 20 20 20 | 50 72 6f 67 72 61 6d 6d |. . |Programm|
|00001850| 69 6e 67 20 6e 6f 74 65 | 73 3a 0a 09 20 41 52 43 |ing note|s:.. ARC|
|00001860| 20 56 65 72 73 69 6f 6e | 20 32 20 64 69 66 66 65 | Version| 2 diffe|
|00001870| 72 73 20 66 72 6f 6d 20 | 76 65 72 73 69 6f 6e 20 |rs from |version |
|00001880| 31 20 69 6e 20 74 68 61 | 74 20 61 72 63 68 69 76 |1 in tha|t archiv|
|00001890| 65 20 65 6e 74 72 69 65 | 73 0a 09 20 61 72 65 20 |e entrie|s.. are |
|000018a0| 61 75 74 6f 6d 61 74 69 | 63 61 6c 6c 79 20 63 6f |automati|cally co|
|000018b0| 6d 70 72 65 73 73 65 64 | 20 77 68 65 6e 20 74 68 |mpressed| when th|
|000018c0| 65 79 20 61 72 65 20 61 | 64 64 65 64 20 74 6f 20 |ey are a|dded to |
|000018d0| 74 68 65 20 61 72 63 68 | 69 76 65 2c 0a 09 20 6d |the arch|ive,.. m|
|000018e0| 61 6b 69 6e 67 20 61 20 | 73 65 70 61 72 61 74 65 |aking a |separate|
|000018f0| 20 63 6f 6d 70 72 65 73 | 73 69 6f 6e 20 73 74 65 | compres|sion ste|
|00001900| 70 20 75 6e 65 63 65 73 | 73 61 72 79 2e 09 20 54 |p uneces|sary.. T|
|00001910| 68 65 20 6e 61 74 75 72 | 65 20 6f 66 20 74 68 65 |he natur|e of the|
|00001920| 0a 09 20 63 6f 6d 70 72 | 65 73 73 69 6f 6e 20 69 |.. compr|ession i|
|00001930| 73 20 69 6e 64 69 63 61 | 74 65 64 20 62 79 20 74 |s indica|ted by t|
|00001940| 68 65 20 68 65 61 64 65 | 72 20 76 65 72 73 69 6f |he heade|r versio|
|00001950| 6e 20 6e 75 6d 62 65 72 | 20 70 6c 61 63 65 64 20 |n number| placed |
|00001960| 69 6e 0a 09 20 65 61 63 | 68 20 61 72 63 68 69 76 |in.. eac|h archiv|
|00001970| 65 20 65 6e 74 72 79 2c | 20 61 73 20 66 6f 6c 6c |e entry,| as foll|
|00001980| 6f 77 73 3a 0a 20 20 0a | 09 20 31 20 3d 20 4f 6c |ows:. .|. 1 = Ol|
|00001990| 64 20 73 74 79 6c 65 2c | 20 6e 6f 20 63 6f 6d 70 |d style,| no comp|
|000019a0| 72 65 73 73 69 6f 6e 0a | 09 20 32 20 3d 20 4e 65 |ression.|. 2 = Ne|
|000019b0| 77 20 73 74 79 6c 65 2c | 20 6e 6f 20 63 6f 6d 70 |w style,| no comp|
|000019c0| 72 65 73 73 69 6f 6e 0a | 09 20 33 20 3d 20 43 6f |ression.|. 3 = Co|
|000019d0| 6d 70 72 65 73 73 69 6f | 6e 20 6f 66 20 72 65 70 |mpressio|n of rep|
|000019e0| 65 61 74 65 64 20 63 68 | 61 72 61 63 74 65 72 73 |eated ch|aracters|
|000019f0| 20 6f 6e 6c 79 0a 09 20 | 34 20 3d 20 43 6f 6d 70 | only.. |4 = Comp|
|00001a00| 72 65 73 73 69 6f 6e 20 | 6f 66 20 72 65 70 65 61 |ression |of repea|
|00001a10| 74 65 64 20 63 68 61 72 | 61 63 74 65 72 73 20 70 |ted char|acters p|
|00001a20| 6c 75 73 20 48 75 66 66 | 6d 61 6e 20 53 51 75 65 |lus Huff|man SQue|
|00001a30| 65 7a 69 6e 67 0a 09 20 | 35 20 3d 20 4c 65 6d 70 |ezing.. |5 = Lemp|
|00001a40| 65 6c 2d 5a 65 76 20 70 | 61 63 6b 69 6e 67 20 6f |el-Zev p|acking o|
|00001a50| 66 20 72 65 70 65 61 74 | 65 64 20 73 74 72 69 6e |f repeat|ed strin|
|00001a60| 67 73 20 28 6f 6c 64 20 | 73 74 79 6c 65 29 0a 09 |gs (old |style)..|
|00001a70| 20 36 20 3d 20 4c 65 6d | 70 65 6c 2d 5a 65 76 20 | 6 = Lem|pel-Zev |
|00001a80| 70 61 63 6b 69 6e 67 20 | 6f 66 20 72 65 70 65 61 |packing |of repea|
|00001a90| 74 65 64 20 73 74 72 69 | 6e 67 73 20 28 6e 65 77 |ted stri|ngs (new|
|00001aa0| 20 73 74 79 6c 65 29 0a | 09 20 37 20 3d 20 4c 65 | style).|. 7 = Le|
|00001ab0| 6d 70 65 6c 2d 5a 65 76 | 20 57 69 6c 6c 69 61 6d |mpel-Zev| William|
|00001ac0| 73 20 70 61 63 6b 69 6e | 67 20 77 69 74 68 20 69 |s packin|g with i|
|00001ad0| 6d 70 72 6f 76 65 64 20 | 68 61 73 68 20 66 75 6e |mproved |hash fun|
|00001ae0| 63 74 69 6f 6e 0a 09 20 | 38 20 3d 20 44 79 6e 61 |ction.. |8 = Dyna|
|00001af0| 6d 69 63 20 4c 65 6d 70 | 65 6c 2d 5a 65 76 20 70 |mic Lemp|el-Zev p|
|00001b00| 61 63 6b 69 6e 67 20 77 | 69 74 68 20 61 64 61 70 |acking w|ith adap|
|00001b10| 74 69 76 65 20 72 65 73 | 65 74 0a 09 20 39 20 3d |tive res|et.. 9 =|
|00001b20| 20 44 79 6e 61 6d 69 63 | 20 4c 65 6d 70 65 6c 2d | Dynamic| Lempel-|
|00001b30| 5a 65 76 20 70 61 63 6b | 69 6e 67 2c 20 6c 61 72 |Zev pack|ing, lar|
|00001b40| 67 65 72 20 68 61 73 68 | 20 74 61 62 6c 65 0a 20 |ger hash| table. |
|00001b50| 20 0a 09 20 54 79 70 65 | 20 35 2c 20 4c 65 6d 70 | .. Type| 5, Lemp|
|00001b60| 65 6c 2d 5a 65 76 20 70 | 61 63 6b 69 6e 67 2c 20 |el-Zev p|acking, |
|00001b70| 77 61 73 20 61 64 64 65 | 64 20 61 73 20 6f 66 20 |was adde|d as of |
|00001b80| 76 65 72 73 69 6f 6e 20 | 34 2e 30 0a 20 20 0a 09 |version |4.0. ..|
|00001b90| 20 54 79 70 65 20 36 20 | 69 73 20 4c 65 6d 70 65 | Type 6 |is Lempe|
|00001ba0| 6c 2d 5a 65 76 20 70 61 | 63 6b 69 6e 67 20 77 68 |l-Zev pa|cking wh|
|00001bb0| 65 72 65 20 72 75 6e 73 | 20 6f 66 20 72 65 70 65 |ere runs| of repe|
|00001bc0| 61 74 65 64 20 63 68 61 | 72 61 63 74 65 72 73 0a |ated cha|racters.|
|00001bd0| 09 20 68 61 76 65 20 62 | 65 65 6e 20 63 6f 6c 6c |. have b|een coll|
|00001be0| 61 70 73 65 64 2c 20 61 | 6e 64 20 77 61 73 20 61 |apsed, a|nd was a|
|00001bf0| 64 64 65 64 20 61 73 20 | 6f 66 20 76 65 72 73 69 |dded as |of versi|
|00001c00| 6f 6e 20 34 2e 31 0a 20 | 20 0a 09 20 54 79 70 65 |on 4.1. | .. Type|
|00001c10| 20 37 20 69 73 20 61 20 | 76 61 72 69 61 74 69 6f | 7 is a |variatio|
|00001c20| 6e 20 6f 66 20 4c 65 6d | 70 65 6c 2d 5a 65 76 20 |n of Lem|pel-Zev |
|00001c30| 75 73 69 6e 67 20 61 20 | 64 69 66 66 65 72 65 6e |using a |differen|
|00001c40| 74 20 68 61 73 68 0a 09 | 20 66 75 6e 63 74 69 6f |t hash..| functio|
|00001c50| 6e 20 77 68 69 63 68 20 | 79 69 65 6c 64 73 20 73 |n which |yields s|
|00001c60| 70 65 65 64 20 69 6d 70 | 72 6f 76 65 6d 65 6e 74 |peed imp|rovement|
|00001c70| 73 20 6f 66 20 32 30 2d | 32 35 25 2c 20 61 6e 64 |s of 20-|25%, and|
|00001c80| 20 77 61 73 0a 09 20 61 | 64 64 65 64 20 61 73 20 | was.. a|dded as |
|00001c90| 6f 66 20 76 65 72 73 69 | 6f 6e 20 34 2e 36 0a 20 |of versi|on 4.6. |
|00001ca0| 20 0a 09 20 54 79 70 65 | 20 38 20 69 73 20 61 20 | .. Type| 8 is a |
|00001cb0| 64 69 66 66 65 72 65 6e | 74 20 69 6d 70 6c 65 6d |differen|t implem|
|00001cc0| 65 6e 74 61 74 69 6f 6e | 20 6f 66 20 4c 65 6d 70 |entation| of Lemp|
|00001cd0| 65 6c 2d 5a 65 76 2c 20 | 75 73 69 6e 67 20 61 0a |el-Zev, |using a.|
|00001ce0| 09 20 76 61 72 69 61 62 | 6c 65 20 63 6f 64 65 20 |. variab|le code |
|00001cf0| 73 69 7a 65 20 61 6e 64 | 20 61 6e 20 61 64 61 70 |size and| an adap|
|00001d00| 74 69 76 65 20 62 6c 6f | 63 6b 20 72 65 73 65 74 |tive blo|ck reset|
|00001d10| 2c 20 61 6e 64 20 77 61 | 73 20 61 64 64 65 64 0a |, and wa|s added.|
|00001d20| 09 20 61 73 20 6f 66 20 | 76 65 72 73 69 6f 6e 20 |. as of |version |
|00001d30| 35 2e 30 0a 20 20 0a 09 | 20 54 79 70 65 20 39 20 |5.0. ..| Type 9 |
|00001d40| 69 73 20 61 20 73 6c 69 | 67 68 74 20 6d 6f 64 69 |is a sli|ght modi|
|00001d50| 66 69 63 61 74 69 6f 6e | 20 6f 66 20 74 79 70 65 |fication| of type|
|00001d60| 20 38 2c 20 66 69 72 73 | 74 20 75 73 65 64 20 62 | 8, firs|t used b|
|00001d70| 79 20 50 68 69 6c 0a 09 | 20 4b 61 74 7a 20 69 6e |y Phil..| Katz in|
|00001d80| 20 68 69 73 20 50 4b 41 | 52 43 20 75 74 69 6c 69 | his PKA|RC utili|
|00001d90| 74 65 73 2e 20 54 68 65 | 20 70 72 69 6d 61 72 79 |tes. The| primary|
|00001da0| 20 64 69 66 66 65 72 65 | 6e 63 65 20 69 73 20 74 | differe|nce is t|
|00001db0| 68 65 20 75 73 65 0a 09 | 20 6f 66 20 61 20 68 61 |he use..| of a ha|
|00001dc0| 73 68 20 74 61 62 6c 65 | 20 74 77 69 63 65 20 61 |sh table| twice a|
|00001dd0| 73 20 6c 61 72 67 65 20 | 61 73 20 66 6f 72 20 74 |s large |as for t|
|00001de0| 79 70 65 20 38 2c 20 61 | 6e 64 20 74 68 61 74 20 |ype 8, a|nd that |
|00001df0| 74 68 69 73 0a 09 20 61 | 6c 67 6f 72 69 74 68 6d |this.. a|lgorithm|
|00001e00| 20 63 61 6c 6c 65 64 20 | 53 71 75 61 73 68 69 6e | called |Squashin|
|00001e10| 67 2c 20 64 6f 65 73 6e | 27 74 20 70 65 72 66 6f |g, doesn|'t perfo|
|00001e20| 72 6d 20 72 75 6e 2d 6c | 65 6e 67 74 68 20 65 6e |rm run-l|ength en|
|00001e30| 63 6f 64 69 6e 67 0a 09 | 20 6f 6e 20 74 68 65 20 |coding..| on the |
|00001e40| 69 6e 70 75 74 20 64 61 | 74 61 2e 0a 20 20 0a 09 |input da|ta.. ..|
|00001e50| 20 56 65 72 69 6f 6e 20 | 34 2e 33 20 69 6e 74 72 | Verion |4.3 intr|
|00001e60| 6f 64 75 63 65 64 20 61 | 20 74 65 6d 70 6f 72 61 |oduced a| tempora|
|00001e70| 72 79 20 66 69 6c 65 20 | 66 6f 72 20 68 6f 6c 64 |ry file |for hold|
|00001e80| 69 6e 67 20 74 68 65 20 | 72 65 73 75 6c 74 0a 09 |ing the |result..|
|00001e90| 20 6f 66 20 74 68 65 20 | 66 69 72 73 74 20 63 72 | of the |first cr|
|00001ea0| 75 6e 63 68 20 70 61 73 | 73 2c 20 74 68 75 73 20 |unch pas|s, thus |
|00001eb0| 73 70 65 65 64 69 6e 67 | 20 75 70 20 63 72 75 6e |speeding| up crun|
|00001ec0| 63 68 69 6e 67 2e 0a 20 | 20 0a 09 20 56 65 72 73 |ching.. | .. Vers|
|00001ed0| 69 6f 6e 20 34 2e 34 20 | 69 6e 74 72 6f 64 75 63 |ion 4.4 |introduc|
|00001ee0| 65 64 20 74 68 65 20 41 | 52 43 54 45 4d 50 20 65 |ed the A|RCTEMP e|
|00001ef0| 6e 76 69 72 6f 6e 6d 65 | 6e 74 20 73 74 72 69 6e |nvironme|nt strin|
|00001f00| 67 2c 20 73 6f 20 74 68 | 61 74 0a 09 20 74 68 65 |g, so th|at.. the|
|00001f10| 20 74 65 6d 70 6f 72 61 | 72 79 20 63 72 75 6e 63 | tempora|ry crunc|
|00001f20| 68 20 66 69 6c 65 20 6d | 61 79 20 62 65 20 70 6c |h file m|ay be pl|
|00001f30| 61 63 65 64 20 6f 6e 20 | 61 20 72 61 6d 64 69 73 |aced on |a ramdis|
|00001f40| 6b 2e 09 41 6c 73 6f 0a | 09 20 61 64 64 65 64 20 |k..Also.|. added |
|00001f50| 77 61 73 20 74 68 65 20 | 64 69 73 74 69 6e 63 74 |was the |distinct|
|00001f60| 69 6f 6e 20 62 65 77 74 | 65 65 6e 20 41 64 64 69 |ion bewt|een Addi|
|00001f70| 6e 67 20 61 20 66 69 6c | 65 20 69 6e 20 61 6c 6c |ng a fil|e in all|
|00001f80| 20 63 61 73 65 73 2c 0a | 09 20 61 6e 64 20 55 70 | cases,.|. and Up|
|00001f90| 64 61 74 69 6e 67 20 61 | 20 66 69 6c 65 20 6f 6e |dating a| file on|
|00001fa0| 6c 79 20 69 66 20 74 68 | 65 20 64 69 73 6b 20 66 |ly if th|e disk f|
|00001fb0| 69 6c 65 20 69 73 20 6e | 65 77 65 72 20 74 68 61 |ile is n|ewer tha|
|00001fc0| 6e 20 74 68 65 0a 09 20 | 63 6f 72 72 65 73 70 6f |n the.. |correspo|
|00001fd0| 6e 64 69 6e 67 20 61 72 | 63 68 69 76 65 20 65 6e |nding ar|chive en|
|00001fe0| 74 72 79 2e 0a 20 20 0a | 09 20 54 68 65 20 63 6f |try.. .|. The co|
|00001ff0| 6d 70 72 65 73 73 69 6f | 6e 20 6d 65 74 68 6f 64 |mpressio|n method|
|00002000| 20 74 6f 20 75 73 65 20 | 69 73 20 64 65 74 65 72 | to use |is deter|
|00002010| 6d 69 6e 65 64 20 77 68 | 65 6e 20 74 68 65 20 66 |mined wh|en the f|
|00002020| 69 6c 65 20 69 73 0a 09 | 20 61 64 64 65 64 2c 20 |ile is..| added, |
|00002030| 62 61 73 65 64 20 6f 6e | 20 77 68 69 63 68 65 76 |based on| whichev|
|00002040| 65 72 20 6d 65 74 68 6f | 64 20 79 69 65 6c 64 73 |er metho|d yields|
|00002050| 20 74 68 65 20 73 6d 61 | 6c 6c 65 73 74 20 72 65 | the sma|llest re|
|00002060| 73 75 6c 74 2e 0a 20 20 | 0a 20 20 20 20 4c 61 6e |sult.. |. Lan|
|00002070| 67 75 61 67 65 3a 0a 09 | 20 43 6f 6d 70 75 74 65 |guage:..| Compute|
|00002080| 72 20 49 6e 6e 6f 76 61 | 74 69 6f 6e 73 20 4f 70 |r Innova|tions Op|
|00002090| 74 69 6d 69 7a 69 6e 67 | 20 43 38 36 0a 2a 2f 0a |timizing| C86.*/.|
|000020a0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 69 6f 2e |#include| <stdio.|
|000020b0| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 22 61 72 63 |h>.#incl|ude "arc|
|000020c0| 2e 68 22 0a 0a 23 69 66 | 09 55 4e 49 58 0a 23 69 |.h"..#if|.UNIX.#i|
|000020d0| 6e 63 6c 75 64 65 20 3c | 73 79 73 2f 74 79 70 65 |nclude <|sys/type|
|000020e0| 73 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 73 |s.h>.#in|clude <s|
|000020f0| 79 73 2f 73 74 61 74 2e | 68 3e 0a 23 65 6e 64 69 |ys/stat.|h>.#endi|
|00002100| 66 0a 0a 69 6e 74 09 09 | 73 74 72 6c 65 6e 28 29 |f..int..|strlen()|
|00002110| 3b 0a 76 6f 69 64 09 09 | 61 64 64 61 72 63 28 29 |;.void..|addarc()|
|00002120| 2c 20 64 65 6c 61 72 63 | 28 29 2c 20 65 78 74 61 |, delarc|(), exta|
|00002130| 72 63 28 29 2c 20 6c 73 | 74 61 72 63 28 29 2c 20 |rc(), ls|tarc(), |
|00002140| 74 73 74 61 72 63 28 29 | 2c 20 63 76 74 61 72 63 |tstarc()|, cvtarc|
|00002150| 28 29 2c 20 72 75 6e 61 | 72 63 28 29 3b 0a 76 6f |(), runa|rc();.vo|
|00002160| 69 64 09 09 61 62 6f 72 | 74 28 29 3b 0a 73 74 61 |id..abor|t();.sta|
|00002170| 74 69 63 09 76 6f 69 64 | 09 65 78 70 61 6e 64 6c |tic.void|.expandl|
|00002180| 73 74 28 29 3b 0a 23 69 | 66 09 5f 4d 54 53 0a 76 |st();.#i|f._MTS.v|
|00002190| 6f 69 64 09 09 65 74 6f | 61 28 29 3b 0a 23 65 6e |oid..eto|a();.#en|
|000021a0| 64 69 66 0a 23 69 66 09 | 47 45 4d 44 4f 53 0a 6c |dif.#if.|GEMDOS.l|
|000021b0| 6f 6e 67 09 09 5f 73 74 | 6b 73 69 7a 65 20 3d 20 |ong.._st|ksize = |
|000021c0| 33 30 37 32 30 3b 0a 23 | 65 6e 64 69 66 0a 63 68 |30720;.#|endif.ch|
|000021d0| 61 72 09 09 2a 73 74 72 | 63 70 79 28 29 2c 20 2a |ar..*str|cpy(), *|
|000021e0| 73 74 72 63 61 74 28 29 | 3b 0a 63 68 61 72 09 09 |strcat()|;.char..|
|000021f0| 2a 6d 61 6b 65 66 6e 61 | 6d 28 29 3b 09 2f 2a 20 |*makefna|m();./* |
|00002200| 66 69 6c 65 6e 61 6d 65 | 20 66 69 78 75 70 20 72 |filename| fixup r|
|00002210| 6f 75 74 69 6e 65 20 2a | 2f 0a 0a 73 74 61 74 69 |outine *|/..stati|
|00002220| 63 20 63 68 61 72 20 20 | 20 2a 2a 6c 73 74 3b 09 |c char | **lst;.|
|00002230| 09 2f 2a 20 66 69 6c 65 | 73 20 6c 69 73 74 20 2a |./* file|s list *|
|00002240| 2f 0a 73 74 61 74 69 63 | 20 69 6e 74 09 6c 6e 75 |/.static| int.lnu|
|00002250| 6d 3b 09 09 2f 2a 20 6c | 65 6e 67 74 68 20 6f 66 |m;../* l|ength of|
|00002260| 20 66 69 6c 65 73 20 6c | 69 73 74 20 2a 2f 0a 0a | files l|ist */..|
|00002270| 6d 61 69 6e 28 6e 75 6d | 2c 20 61 72 67 29 09 09 |main(num|, arg)..|
|00002280| 09 2f 2a 20 73 79 73 74 | 65 6d 20 65 6e 74 72 79 |./* syst|em entry|
|00002290| 20 70 6f 69 6e 74 20 2a | 2f 0a 09 69 6e 74 09 09 | point *|/..int..|
|000022a0| 6e 75 6d 3b 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |num;./* |number o|
|000022b0| 66 20 61 72 67 75 6d 65 | 6e 74 73 20 2a 2f 0a 09 |f argume|nts */..|
|000022c0| 63 68 61 72 09 20 20 20 | 20 20 20 20 2a 61 72 67 |char. | *arg|
|000022d0| 5b 5d 3b 09 2f 2a 20 70 | 6f 69 6e 74 65 72 73 20 |[];./* p|ointers |
|000022e0| 74 6f 20 61 72 67 75 6d | 65 6e 74 73 20 2a 2f 0a |to argum|ents */.|
|000022f0| 7b 0a 09 63 68 61 72 09 | 09 6f 70 74 20 3d 20 30 |{..char.|.opt = 0|
|00002300| 3b 2f 2a 20 73 65 6c 65 | 63 74 65 64 20 61 63 74 |;/* sele|cted act|
|00002310| 69 6f 6e 20 2a 2f 0a 09 | 63 68 61 72 09 20 20 20 |ion */..|char. |
|00002320| 20 20 20 20 2a 61 3b 09 | 2f 2a 20 6f 70 74 69 6f | *a;.|/* optio|
|00002330| 6e 20 70 6f 69 6e 74 65 | 72 20 2a 2f 0a 09 76 6f |n pointe|r */..vo|
|00002340| 69 64 09 09 75 70 70 65 | 72 28 29 3b 2f 2a 20 63 |id..uppe|r();/* c|
|00002350| 61 73 65 20 63 6f 6e 76 | 65 72 73 69 6f 6e 20 72 |ase conv|ersion r|
|00002360| 6f 75 74 69 6e 65 20 2a | 2f 0a 09 63 68 61 72 09 |outine *|/..char.|
|00002370| 20 20 20 20 20 20 20 2a | 69 6e 64 65 78 28 29 3b | *|index();|
|00002380| 2f 2a 20 73 74 72 69 6e | 67 20 69 6e 64 65 78 20 |/* strin|g index |
|00002390| 75 74 69 6c 69 74 79 20 | 2a 2f 0a 09 63 68 61 72 |utility |*/..char|
|000023a0| 09 20 20 20 20 20 20 20 | 2a 65 6e 76 66 69 6e 64 |. |*envfind|
|000023b0| 28 29 3b 09 2f 2a 20 65 | 6e 76 69 72 6f 6e 6d 65 |();./* e|nvironme|
|000023c0| 6e 74 20 73 65 61 72 63 | 68 65 72 20 2a 2f 0a 09 |nt searc|her */..|
|000023d0| 69 6e 74 09 09 6e 3b 09 | 2f 2a 20 69 6e 64 65 78 |int..n;.|/* index|
|000023e0| 20 2a 2f 0a 09 63 68 61 | 72 09 20 20 20 20 20 20 | */..cha|r. |
|000023f0| 20 2a 61 72 63 74 65 6d | 70 32 2c 20 2a 63 61 6c | *arctem|p2, *cal|
|00002400| 6c 6f 63 28 29 2c 20 2a | 6d 6b 74 65 6d 70 28 29 |loc(), *|mktemp()|
|00002410| 3b 0a 23 69 66 09 47 45 | 4d 44 4f 53 0a 09 76 6f |;.#if.GE|MDOS..vo|
|00002420| 69 64 09 09 65 78 69 74 | 70 61 75 73 65 28 29 3b |id..exit|pause();|
|00002430| 0a 09 69 6e 74 09 09 61 | 70 70 65 6e 64 3b 0a 23 |..int..a|ppend;.#|
|00002440| 65 6e 64 69 66 0a 23 69 | 66 09 5f 4d 54 53 0a 09 |endif.#i|f._MTS..|
|00002450| 66 6f 72 74 72 61 6e 20 | 76 6f 69 64 09 67 75 69 |fortran |void.gui|
|00002460| 6e 66 6f 28 29 3b 0a 09 | 63 68 61 72 09 09 67 6f |nfo();..|char..go|
|00002470| 74 69 6e 66 5b 34 5d 3b | 0a 23 65 6e 64 69 66 0a |tinf[4];|.#endif.|
|00002480| 23 69 66 09 55 4e 49 58 | 0a 09 73 74 72 75 63 74 |#if.UNIX|..struct|
|00002490| 09 73 74 61 74 09 73 62 | 75 66 3b 0a 23 65 6e 64 |.stat.sb|uf;.#end|
|000024a0| 69 66 0a 0a 09 69 66 20 | 28 6e 75 6d 20 3c 20 33 |if...if |(num < 3|
|000024b0| 29 20 7b 0a 09 09 70 72 | 69 6e 74 66 28 22 41 52 |) {...pr|intf("AR|
|000024c0| 43 20 2d 20 41 72 63 68 | 69 76 65 20 75 74 69 6c |C - Arch|ive util|
|000024d0| 69 74 79 2c 20 56 65 72 | 73 69 6f 6e 20 35 2e 32 |ity, Ver|sion 5.2|
|000024e0| 31 63 2c 20 63 72 65 61 | 74 65 64 20 6f 6e 20 30 |1c, crea|ted on 0|
|000024f0| 35 2f 31 37 2f 38 39 20 | 61 74 20 30 35 3a 30 30 |5/17/89 |at 05:00|
|00002500| 3a 30 30 5c 6e 22 29 3b | 0a 2f 2a 09 09 70 72 69 |:00\n");|./*..pri|
|00002510| 6e 74 66 28 22 28 43 29 | 20 43 4f 50 59 52 49 47 |ntf("(C)| COPYRIG|
|00002520| 48 54 20 31 39 38 35 2c | 38 36 2c 38 37 20 62 79 |HT 1985,|86,87 by|
|00002530| 20 53 79 73 74 65 6d 20 | 45 6e 68 61 6e 63 65 6d | System |Enhancem|
|00002540| 65 6e 74 20 41 73 73 6f | 63 69 61 74 65 73 3b 22 |ent Asso|ciates;"|
|00002550| 29 3b 0a 09 09 70 72 69 | 6e 74 66 28 22 20 41 4c |);...pri|ntf(" AL|
|00002560| 4c 20 52 49 47 48 54 53 | 20 52 45 53 45 52 56 45 |L RIGHTS| RESERVE|
|00002570| 44 5c 6e 5c 6e 22 29 3b | 0a 09 09 70 72 69 6e 74 |D\n\n");|...print|
|00002580| 66 28 22 50 6c 65 61 73 | 65 20 72 65 66 65 72 20 |f("Pleas|e refer |
|00002590| 61 6c 6c 20 69 6e 71 75 | 69 72 69 65 73 20 74 6f |all inqu|iries to|
|000025a0| 3a 5c 6e 5c 6e 22 29 3b | 0a 09 09 70 72 69 6e 74 |:\n\n");|...print|
|000025b0| 66 28 22 20 20 20 20 20 | 20 20 53 79 73 74 65 6d |f(" | System|
|000025c0| 20 45 6e 68 61 6e 63 65 | 6d 65 6e 74 20 41 73 73 | Enhance|ment Ass|
|000025d0| 6f 63 69 61 74 65 73 5c | 6e 22 29 3b 0a 09 09 70 |ociates\|n");...p|
|000025e0| 72 69 6e 74 66 28 22 20 | 20 20 20 20 20 20 32 31 |rintf(" | 21|
|000025f0| 20 4e 65 77 20 53 74 72 | 65 65 74 2c 20 57 61 79 | New Str|eet, Way|
|00002600| 6e 65 20 4e 4a 20 30 37 | 34 37 30 5c 6e 5c 6e 22 |ne NJ 07|470\n\n"|
|00002610| 29 3b 0a 09 09 70 72 69 | 6e 74 66 28 22 59 6f 75 |);...pri|ntf("You|
|00002620| 20 6d 61 79 20 63 6f 70 | 79 20 61 6e 64 20 64 69 | may cop|y and di|
|00002630| 73 74 72 69 62 75 74 65 | 20 74 68 69 73 20 70 72 |stribute| this pr|
|00002640| 6f 67 72 61 6d 20 66 72 | 65 65 6c 79 2c 22 29 3b |ogram fr|eely,");|
|00002650| 0a 09 09 70 72 69 6e 74 | 66 28 22 20 70 72 6f 76 |...print|f(" prov|
|00002660| 69 64 65 64 20 74 68 61 | 74 3a 5c 6e 22 29 3b 0a |ided tha|t:\n");.|
|00002670| 09 09 70 72 69 6e 74 66 | 28 22 20 20 20 20 31 29 |..printf|(" 1)|
|00002680| 09 20 4e 6f 20 66 65 65 | 20 69 73 20 63 68 61 72 |. No fee| is char|
|00002690| 67 65 64 20 66 6f 72 20 | 73 75 63 68 20 63 6f 70 |ged for |such cop|
|000026a0| 79 69 6e 67 20 61 6e 64 | 22 29 3b 0a 09 09 70 72 |ying and|");...pr|
|000026b0| 69 6e 74 66 28 22 20 64 | 69 73 74 72 69 62 75 74 |intf(" d|istribut|
|000026c0| 69 6f 6e 2c 20 61 6e 64 | 5c 6e 22 29 3b 0a 09 09 |ion, and|\n");...|
|000026d0| 70 72 69 6e 74 66 28 22 | 20 20 20 20 32 29 09 20 |printf("| 2). |
|000026e0| 49 74 20 69 73 20 64 69 | 73 74 72 69 62 75 74 65 |It is di|stribute|
|000026f0| 64 20 4f 4e 4c 59 20 69 | 6e 20 69 74 73 20 6f 72 |d ONLY i|n its or|
|00002700| 69 67 69 6e 61 6c 2c 22 | 29 3b 0a 09 09 70 72 69 |iginal,"|);...pri|
|00002710| 6e 74 66 28 22 20 75 6e | 6d 6f 64 69 66 69 65 64 |ntf(" un|modified|
|00002720| 20 73 74 61 74 65 2e 5c | 6e 5c 6e 22 29 3b 0a 09 | state.\|n\n");..|
|00002730| 09 70 72 69 6e 74 66 28 | 22 49 66 20 79 6f 75 20 |.printf(|"If you |
|00002740| 6c 69 6b 65 20 74 68 69 | 73 20 70 72 6f 67 72 61 |like thi|s progra|
|00002750| 6d 2c 20 61 6e 64 20 66 | 69 6e 64 20 69 74 20 6f |m, and f|ind it o|
|00002760| 66 20 75 73 65 2c 20 74 | 68 65 6e 20 79 6f 75 72 |f use, t|hen your|
|00002770| 22 29 3b 0a 09 09 70 72 | 69 6e 74 66 28 22 20 63 |");...pr|intf(" c|
|00002780| 6f 6e 74 72 69 62 75 74 | 69 6f 6e 20 77 69 6c 6c |ontribut|ion will|
|00002790| 5c 6e 22 29 3b 0a 09 09 | 70 72 69 6e 74 66 28 22 |\n");...|printf("|
|000027a0| 62 65 20 61 70 70 72 65 | 63 69 61 74 65 64 2e 09 |be appre|ciated..|
|000027b0| 20 59 6f 75 20 6d 61 79 | 20 6e 6f 74 20 75 73 65 | You may| not use|
|000027c0| 20 74 68 69 73 20 70 72 | 6f 64 75 63 74 20 69 6e | this pr|oduct in|
|000027d0| 20 61 22 29 3b 0a 09 09 | 70 72 69 6e 74 66 28 22 | a");...|printf("|
|000027e0| 20 63 6f 6d 6d 65 72 63 | 69 61 6c 20 65 6e 76 69 | commerc|ial envi|
|000027f0| 72 6f 6e 6d 65 6e 74 5c | 6e 22 29 3b 0a 09 09 70 |ronment\|n");...p|
|00002800| 72 69 6e 74 66 28 22 6f | 72 20 61 20 67 6f 76 65 |rintf("o|r a gove|
|00002810| 72 6e 6d 65 6e 74 61 6c | 20 6f 72 67 61 6e 69 7a |rnmental| organiz|
|00002820| 61 74 69 6f 6e 20 77 69 | 74 68 6f 75 74 20 70 61 |ation wi|thout pa|
|00002830| 79 69 6e 67 20 61 20 6c | 69 63 65 6e 73 65 22 29 |ying a l|icense")|
|00002840| 3b 0a 09 09 70 72 69 6e | 74 66 28 22 20 66 65 65 |;...prin|tf(" fee|
|00002850| 20 6f 66 20 24 33 35 2e | 20 20 53 69 74 65 5c 6e | of $35.| Site\n|
|00002860| 22 29 3b 0a 09 09 70 72 | 69 6e 74 66 28 22 6c 69 |");...pr|intf("li|
|00002870| 63 65 6e 73 65 73 20 61 | 6e 64 20 63 6f 6d 6d 65 |censes a|nd comme|
|00002880| 72 63 69 61 6c 20 64 69 | 73 74 72 69 62 75 74 69 |rcial di|stributi|
|00002890| 6f 6e 20 6c 69 63 65 6e | 73 65 73 20 61 72 65 22 |on licen|ses are"|
|000028a0| 29 3b 0a 09 09 70 72 69 | 6e 74 66 28 22 20 61 76 |);...pri|ntf(" av|
|000028b0| 61 69 6c 61 62 6c 65 2e | 20 20 41 20 70 72 6f 67 |ailable.| A prog|
|000028c0| 72 61 6d 5c 6e 22 29 3b | 0a 09 09 70 72 69 6e 74 |ram\n");|...print|
|000028d0| 66 28 22 64 69 73 6b 20 | 61 6e 64 20 70 72 69 6e |f("disk |and prin|
|000028e0| 74 65 64 20 64 6f 63 75 | 6d 65 6e 74 61 74 69 6f |ted docu|mentatio|
|000028f0| 6e 20 61 72 65 20 61 76 | 61 69 6c 61 62 6c 65 20 |n are av|ailable |
|00002900| 66 6f 72 20 24 35 30 2e | 5c 6e 22 29 3b 0a 09 09 |for $50.|\n");...|
|00002910| 70 72 69 6e 74 66 28 22 | 5c 6e 49 66 20 79 6f 75 |printf("|\nIf you|
|00002920| 20 66 61 69 6c 20 74 6f | 20 61 62 69 64 65 20 62 | fail to| abide b|
|00002930| 79 20 74 68 65 20 74 65 | 72 6d 73 20 6f 66 20 74 |y the te|rms of t|
|00002940| 68 69 73 20 6c 69 63 65 | 6e 73 65 2c 20 22 29 3b |his lice|nse, ");|
|00002950| 0a 09 09 70 72 69 6e 74 | 66 28 22 20 74 68 65 6e |...print|f(" then|
|00002960| 20 79 6f 75 72 20 63 6f | 6e 73 63 69 65 6e 63 65 | your co|nscience|
|00002970| 5c 6e 22 29 3b 0a 09 09 | 70 72 69 6e 74 66 28 22 |\n");...|printf("|
|00002980| 77 69 6c 6c 20 68 61 75 | 6e 74 20 79 6f 75 20 66 |will hau|nt you f|
|00002990| 6f 72 20 74 68 65 20 72 | 65 73 74 20 6f 66 20 79 |or the r|est of y|
|000029a0| 6f 75 72 20 6c 69 66 65 | 2e 5c 6e 5c 6e 22 29 3b |our life|.\n\n");|
|000029b0| 20 2a 2f 0a 23 69 66 09 | 4d 53 44 4f 53 0a 09 09 | */.#if.|MSDOS...|
|000029c0| 70 72 69 6e 74 66 28 22 | 55 73 61 67 65 3a 20 41 |printf("|Usage: A|
|000029d0| 52 43 20 7b 61 6d 75 66 | 64 78 65 72 70 6c 76 74 |RC {amuf|dxerplvt|
|000029e0| 63 7d 5b 62 73 77 6e 6f | 71 5d 5b 67 3c 70 61 73 |c}[bswno|q][g<pas|
|000029f0| 73 77 6f 72 64 3e 5d 22 | 29 3b 0a 23 65 6e 64 69 |sword>]"|);.#endi|
|00002a00| 66 0a 23 69 66 09 47 45 | 4d 44 4f 53 0a 09 09 70 |f.#if.GE|MDOS...p|
|00002a10| 72 69 6e 74 66 28 22 55 | 73 61 67 65 3a 20 41 52 |rintf("U|sage: AR|
|00002a20| 43 20 7b 61 6d 75 66 64 | 78 65 72 70 6c 76 74 63 |C {amufd|xerplvtc|
|00002a30| 7d 5b 62 68 73 77 6e 6f | 71 5d 5b 67 3c 70 61 73 |}[bhswno|q][g<pas|
|00002a40| 73 77 6f 72 64 3e 5d 22 | 29 3b 0a 23 65 6e 64 69 |sword>]"|);.#endi|
|00002a50| 66 0a 23 69 66 09 55 4e | 49 58 0a 09 09 70 72 69 |f.#if.UN|IX...pri|
|00002a60| 6e 74 66 28 22 55 73 61 | 67 65 3a 20 61 72 63 20 |ntf("Usa|ge: arc |
|00002a70| 7b 61 6d 75 66 64 78 65 | 72 70 6c 76 74 63 7d 5b |{amufdxe|rplvtc}[|
|00002a80| 62 69 73 77 6e 6f 71 5d | 5b 67 3c 70 61 73 73 77 |biswnoq]|[g<passw|
|00002a90| 6f 72 64 3e 5d 22 29 3b | 0a 23 65 6e 64 69 66 0a |ord>]");|.#endif.|
|00002aa0| 23 69 66 09 5f 4d 54 53 | 0a 09 09 70 72 69 6e 74 |#if._MTS|...print|
|00002ab0| 66 28 22 50 61 72 61 6d | 65 74 65 72 73 3a 20 7b |f("Param|eters: {|
|00002ac0| 61 6d 75 66 64 78 65 70 | 6c 76 74 63 7d 5b 62 69 |amufdxep|lvtc}[bi|
|00002ad0| 73 77 6e 6f 71 5d 5b 67 | 3c 70 61 73 73 77 6f 72 |swnoq][g|<passwor|
|00002ae0| 64 3e 5d 22 29 3b 0a 23 | 65 6e 64 69 66 0a 09 09 |d>]");.#|endif...|
|00002af0| 70 72 69 6e 74 66 28 22 | 20 3c 61 72 63 68 69 76 |printf("| <archiv|
|00002b00| 65 3e 20 5b 3c 66 69 6c | 65 6e 61 6d 65 3e 20 2e |e> [<fil|ename> .|
|00002b10| 20 2e 20 2e 5d 5c 6e 22 | 29 3b 0a 09 09 70 72 69 | . .]\n"|);...pri|
|00002b20| 6e 74 66 28 22 57 68 65 | 72 65 3a 09 20 61 20 20 |ntf("Whe|re:. a |
|00002b30| 20 3d 20 61 64 64 20 66 | 69 6c 65 73 20 74 6f 20 | = add f|iles to |
|00002b40| 61 72 63 68 69 76 65 5c | 6e 22 29 3b 0a 09 09 70 |archive\|n");...p|
|00002b50| 72 69 6e 74 66 28 22 09 | 20 6d 20 20 20 3d 20 6d |rintf(".| m = m|
|00002b60| 6f 76 65 20 66 69 6c 65 | 73 20 74 6f 20 61 72 63 |ove file|s to arc|
|00002b70| 68 69 76 65 5c 6e 22 29 | 3b 0a 09 09 70 72 69 6e |hive\n")|;...prin|
|00002b80| 74 66 28 22 09 20 75 20 | 20 20 3d 20 75 70 64 61 |tf(". u | = upda|
|00002b90| 74 65 20 66 69 6c 65 73 | 20 69 6e 20 61 72 63 68 |te files| in arch|
|00002ba0| 69 76 65 5c 6e 22 29 3b | 0a 09 09 70 72 69 6e 74 |ive\n");|...print|
|00002bb0| 66 28 22 09 20 66 20 20 | 20 3d 20 66 72 65 73 68 |f(". f | = fresh|
|00002bc0| 65 6e 20 66 69 6c 65 73 | 20 69 6e 20 61 72 63 68 |en files| in arch|
|00002bd0| 69 76 65 5c 6e 22 29 3b | 0a 09 09 70 72 69 6e 74 |ive\n");|...print|
|00002be0| 66 28 22 09 20 64 20 20 | 20 3d 20 64 65 6c 65 74 |f(". d | = delet|
|00002bf0| 65 20 66 69 6c 65 73 20 | 66 72 6f 6d 20 61 72 63 |e files |from arc|
|00002c00| 68 69 76 65 5c 6e 22 29 | 3b 0a 09 09 70 72 69 6e |hive\n")|;...prin|
|00002c10| 74 66 28 22 09 20 78 2c | 65 20 3d 20 65 78 74 72 |tf(". x,|e = extr|
|00002c20| 61 63 74 20 66 69 6c 65 | 73 20 66 72 6f 6d 20 61 |act file|s from a|
|00002c30| 72 63 68 69 76 65 5c 6e | 22 29 3b 0a 23 69 66 09 |rchive\n|");.#if.|
|00002c40| 21 5f 4d 54 53 0a 09 09 | 70 72 69 6e 74 66 28 22 |!_MTS...|printf("|
|00002c50| 09 20 72 20 20 20 3d 20 | 72 75 6e 20 66 69 6c 65 |. r = |run file|
|00002c60| 73 20 66 72 6f 6d 20 61 | 72 63 68 69 76 65 5c 6e |s from a|rchive\n|
|00002c70| 22 29 3b 0a 23 65 6e 64 | 69 66 0a 09 09 70 72 69 |");.#end|if...pri|
|00002c80| 6e 74 66 28 22 09 20 70 | 20 20 20 3d 20 63 6f 70 |ntf(". p| = cop|
|00002c90| 79 20 66 69 6c 65 73 20 | 66 72 6f 6d 20 61 72 63 |y files |from arc|
|00002ca0| 68 69 76 65 20 74 6f 22 | 29 3b 0a 09 09 70 72 69 |hive to"|);...pri|
|00002cb0| 6e 74 66 28 22 20 73 74 | 61 6e 64 61 72 64 20 6f |ntf(" st|andard o|
|00002cc0| 75 74 70 75 74 5c 6e 22 | 29 3b 0a 09 09 70 72 69 |utput\n"|);...pri|
|00002cd0| 6e 74 66 28 22 09 20 6c | 20 20 20 3d 20 6c 69 73 |ntf(". l| = lis|
|00002ce0| 74 20 66 69 6c 65 73 20 | 69 6e 20 61 72 63 68 69 |t files |in archi|
|00002cf0| 76 65 5c 6e 22 29 3b 0a | 09 09 70 72 69 6e 74 66 |ve\n");.|..printf|
|00002d00| 28 22 09 20 76 20 20 20 | 3d 20 76 65 72 62 6f 73 |(". v |= verbos|
|00002d10| 65 20 6c 69 73 74 69 6e | 67 20 6f 66 20 66 69 6c |e listin|g of fil|
|00002d20| 65 73 20 69 6e 20 61 72 | 63 68 69 76 65 5c 6e 22 |es in ar|chive\n"|
|00002d30| 29 3b 0a 09 09 70 72 69 | 6e 74 66 28 22 09 20 74 |);...pri|ntf(". t|
|00002d40| 20 20 20 3d 20 74 65 73 | 74 20 61 72 63 68 69 76 | = tes|t archiv|
|00002d50| 65 20 69 6e 74 65 67 72 | 69 74 79 5c 6e 22 29 3b |e integr|ity\n");|
|00002d60| 0a 09 09 70 72 69 6e 74 | 66 28 22 09 20 63 20 20 |...print|f(". c |
|00002d70| 20 3d 20 63 6f 6e 76 65 | 72 74 20 65 6e 74 72 79 | = conve|rt entry|
|00002d80| 20 74 6f 20 6e 65 77 20 | 70 61 63 6b 69 6e 67 20 | to new |packing |
|00002d90| 6d 65 74 68 6f 64 5c 6e | 22 29 3b 0a 09 09 70 72 |method\n|");...pr|
|00002da0| 69 6e 74 66 28 22 09 20 | 62 20 20 20 3d 20 72 65 |intf(". |b = re|
|00002db0| 74 61 69 6e 20 62 61 63 | 6b 75 70 20 63 6f 70 79 |tain bac|kup copy|
|00002dc0| 20 6f 66 20 61 72 63 68 | 69 76 65 5c 6e 22 29 3b | of arch|ive\n");|
|00002dd0| 0a 23 69 66 09 47 45 4d | 44 4f 53 0a 09 09 70 72 |.#if.GEM|DOS...pr|
|00002de0| 69 6e 74 66 28 22 09 20 | 68 20 20 20 3d 20 68 6f |intf(". |h = ho|
|00002df0| 6c 64 20 73 63 72 65 65 | 6e 20 61 66 74 65 72 20 |ld scree|n after |
|00002e00| 66 69 6e 69 73 68 69 6e | 67 5c 6e 22 29 3b 0a 23 |finishin|g\n");.#|
|00002e10| 65 6e 64 69 66 0a 23 69 | 66 09 5f 4d 54 53 0a 09 |endif.#i|f._MTS..|
|00002e20| 09 70 72 69 6e 74 66 28 | 22 09 20 69 20 20 20 3d |.printf(|". i =|
|00002e30| 20 73 75 70 70 72 65 73 | 73 20 41 53 43 49 49 2f | suppres|s ASCII/|
|00002e40| 45 42 43 44 49 43 20 74 | 72 61 6e 73 6c 61 74 69 |EBCDIC t|ranslati|
|00002e50| 6f 6e 5c 6e 22 29 3b 0a | 23 65 6e 64 69 66 0a 23 |on\n");.|#endif.#|
|00002e60| 69 66 09 55 4e 49 58 0a | 09 09 70 72 69 6e 74 66 |if.UNIX.|..printf|
|00002e70| 28 22 09 20 69 20 20 20 | 3d 20 73 75 70 70 72 65 |(". i |= suppre|
|00002e80| 73 73 20 69 6d 61 67 65 | 20 6d 6f 64 65 20 28 74 |ss image| mode (t|
|00002e90| 72 61 6e 73 6c 61 74 65 | 20 45 4f 4c 29 5c 6e 22 |ranslate| EOL)\n"|
|00002ea0| 29 3b 0a 23 65 6e 64 69 | 66 0a 09 09 70 72 69 6e |);.#endi|f...prin|
|00002eb0| 74 66 28 22 09 20 73 20 | 20 20 3d 20 73 75 70 70 |tf(". s | = supp|
|00002ec0| 72 65 73 73 20 63 6f 6d | 70 72 65 73 73 69 6f 6e |ress com|pression|
|00002ed0| 20 28 73 74 6f 72 65 20 | 6f 6e 6c 79 29 5c 6e 22 | (store |only)\n"|
|00002ee0| 29 3b 0a 09 09 70 72 69 | 6e 74 66 28 22 09 20 77 |);...pri|ntf(". w|
|00002ef0| 20 20 20 3d 20 73 75 70 | 70 72 65 73 73 20 77 61 | = sup|press wa|
|00002f00| 72 6e 69 6e 67 20 6d 65 | 73 73 61 67 65 73 5c 6e |rning me|ssages\n|
|00002f10| 22 29 3b 0a 09 09 70 72 | 69 6e 74 66 28 22 09 20 |");...pr|intf(". |
|00002f20| 6e 20 20 20 3d 20 73 75 | 70 70 72 65 73 73 20 6e |n = su|ppress n|
|00002f30| 6f 74 65 73 20 61 6e 64 | 20 63 6f 6d 6d 65 6e 74 |otes and| comment|
|00002f40| 73 5c 6e 22 29 3b 0a 09 | 09 70 72 69 6e 74 66 28 |s\n");..|.printf(|
|00002f50| 22 09 20 6f 20 20 20 3d | 20 6f 76 65 72 77 72 69 |". o =| overwri|
|00002f60| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|00002f70| 73 20 77 68 65 6e 22 29 | 3b 0a 09 09 70 72 69 6e |s when")|;...prin|
|00002f80| 74 66 28 22 20 65 78 74 | 72 61 63 74 69 6e 67 5c |tf(" ext|racting\|
|00002f90| 6e 22 29 3b 0a 09 09 70 | 72 69 6e 74 66 28 22 09 |n");...p|rintf(".|
|00002fa0| 20 71 20 20 20 3d 20 73 | 71 75 61 73 68 20 69 6e | q = s|quash in|
|00002fb0| 73 74 65 61 64 20 6f 66 | 20 63 72 75 6e 63 68 69 |stead of| crunchi|
|00002fc0| 6e 67 5c 6e 22 29 3b 0a | 09 09 70 72 69 6e 74 66 |ng\n");.|..printf|
|00002fd0| 28 22 09 20 67 20 20 20 | 3d 20 45 6e 63 72 79 70 |(". g |= Encryp|
|00002fe0| 74 2f 64 65 63 72 79 70 | 74 20 61 72 63 68 69 76 |t/decryp|t archiv|
|00002ff0| 65 20 65 6e 74 72 79 5c | 6e 22 29 3b 0a 09 09 70 |e entry\|n");...p|
|00003000| 72 69 6e 74 66 28 22 5c | 6e 41 64 61 70 74 65 64 |rintf("\|nAdapted|
|00003010| 20 66 72 6f 6d 20 4d 53 | 44 4f 53 20 62 79 20 48 | from MS|DOS by H|
|00003020| 6f 77 61 72 64 20 43 68 | 75 5c 6e 22 29 3b 0a 09 |oward Ch|u\n");..|
|00003030| 09 2f 2a 0a 09 09 20 2a | 20 70 72 69 6e 74 66 28 |./*... *| printf(|
|00003040| 22 5c 6e 50 6c 65 61 73 | 65 20 72 65 66 65 72 20 |"\nPleas|e refer |
|00003050| 74 6f 20 74 68 65 20 70 | 72 6f 67 72 61 6d 20 64 |to the p|rogram d|
|00003060| 6f 63 75 6d 65 6e 74 61 | 74 69 6f 6e 20 66 6f 72 |ocumenta|tion for|
|00003070| 22 29 3b 0a 09 09 20 2a | 20 70 72 69 6e 74 66 28 |");... *| printf(|
|00003080| 22 20 63 6f 6d 70 6c 65 | 74 65 20 69 6e 73 74 72 |" comple|te instr|
|00003090| 75 63 74 69 6f 6e 73 2e | 5c 6e 22 29 3b 20 0a 09 |uctions.|\n"); ..|
|000030a0| 09 20 2a 2f 0a 23 69 66 | 09 47 45 4d 44 4f 53 0a |. */.#if|.GEMDOS.|
|000030b0| 09 09 65 78 69 74 70 61 | 75 73 65 28 29 3b 0a 23 |..exitpa|use();.#|
|000030c0| 65 6e 64 69 66 0a 09 09 | 72 65 74 75 72 6e 20 31 |endif...|return 1|
|000030d0| 3b 0a 09 7d 0a 09 2f 2a | 20 73 65 65 20 77 68 65 |;..}../*| see whe|
|000030e0| 72 65 20 74 65 6d 70 20 | 66 69 6c 65 73 20 67 6f |re temp |files go|
|000030f0| 20 2a 2f 0a 23 69 66 09 | 21 5f 4d 54 53 0a 09 61 | */.#if.|!_MTS..a|
|00003100| 72 63 74 65 6d 70 20 3d | 20 63 61 6c 6c 6f 63 28 |rctemp =| calloc(|
|00003110| 31 2c 20 53 54 52 4c 45 | 4e 29 3b 0a 09 69 66 20 |1, STRLE|N);..if |
|00003120| 28 21 28 61 72 63 74 65 | 6d 70 32 20 3d 20 65 6e |(!(arcte|mp2 = en|
|00003130| 76 66 69 6e 64 28 22 41 | 52 43 54 45 4d 50 22 29 |vfind("A|RCTEMP")|
|00003140| 29 29 0a 09 09 61 72 63 | 74 65 6d 70 32 20 3d 20 |))...arc|temp2 = |
|00003150| 65 6e 76 66 69 6e 64 28 | 22 54 4d 50 44 49 52 22 |envfind(|"TMPDIR"|
|00003160| 29 3b 0a 09 69 66 20 28 | 61 72 63 74 65 6d 70 32 |);..if (|arctemp2|
|00003170| 29 20 7b 0a 09 09 73 74 | 72 63 70 79 28 61 72 63 |) {...st|rcpy(arc|
|00003180| 74 65 6d 70 2c 20 61 72 | 63 74 65 6d 70 32 29 3b |temp, ar|ctemp2);|
|00003190| 0a 09 09 6e 20 3d 20 73 | 74 72 6c 65 6e 28 61 72 |...n = s|trlen(ar|
|000031a0| 63 74 65 6d 70 29 3b 0a | 09 09 69 66 20 28 61 72 |ctemp);.|..if (ar|
|000031b0| 63 74 65 6d 70 5b 6e 20 | 2d 20 31 5d 20 21 3d 20 |ctemp[n |- 1] != |
|000031c0| 43 55 54 4f 46 46 29 0a | 09 09 09 61 72 63 74 65 |CUTOFF).|...arcte|
|000031d0| 6d 70 5b 6e 5d 20 3d 20 | 43 55 54 4f 46 46 3b 0a |mp[n] = |CUTOFF;.|
|000031e0| 09 7d 0a 23 69 66 09 55 | 4e 49 58 0a 09 65 6c 73 |.}.#if.U|NIX..els|
|000031f0| 65 09 73 74 72 63 70 79 | 28 61 72 63 74 65 6d 70 |e.strcpy|(arctemp|
|00003200| 2c 20 22 2f 74 6d 70 2f | 22 29 3b 0a 23 65 6e 64 |, "/tmp/|");.#end|
|00003210| 69 66 0a 23 69 66 09 21 | 4d 53 44 4f 53 0a 09 7b |if.#if.!|MSDOS..{|
|00003220| 0a 09 09 73 74 61 74 69 | 63 20 63 68 61 72 20 74 |...stati|c char t|
|00003230| 65 6d 70 6e 61 6d 65 5b | 5d 20 3d 20 22 41 58 58 |empname[|] = "AXX|
|00003240| 58 58 58 58 22 3b 0a 09 | 09 73 74 72 63 61 74 28 |XXXX";..|.strcat(|
|00003250| 61 72 63 74 65 6d 70 2c | 20 6d 6b 74 65 6d 70 28 |arctemp,| mktemp(|
|00003260| 74 65 6d 70 6e 61 6d 65 | 29 29 3b 0a 09 7d 0a 23 |tempname|));..}.#|
|00003270| 65 6c 73 65 0a 09 73 74 | 72 63 61 74 28 61 72 63 |else..st|rcat(arc|
|00003280| 74 65 6d 70 2c 20 22 24 | 41 52 43 54 45 4d 50 22 |temp, "$|ARCTEMP"|
|00003290| 29 3b 0a 23 65 6e 64 69 | 66 0a 23 65 6c 73 65 0a |);.#endi|f.#else.|
|000032a0| 09 67 75 69 6e 66 6f 28 | 22 53 48 46 53 45 50 09 |.guinfo(|"SHFSEP.|
|000032b0| 22 2c 20 67 6f 74 69 6e | 66 29 3b 0a 09 73 65 70 |", gotin|f);..sep|
|000032c0| 63 68 72 5b 30 5d 20 3d | 20 67 6f 74 69 6e 66 5b |chr[0] =| gotinf[|
|000032d0| 30 5d 3b 0a 09 67 75 69 | 6e 66 6f 28 22 53 43 52 |0];..gui|nfo("SCR|
|000032e0| 46 43 48 41 52 22 2c 20 | 67 6f 74 69 6e 66 29 3b |FCHAR", |gotinf);|
|000032f0| 0a 09 74 6d 70 63 68 72 | 5b 30 5d 20 3d 20 67 6f |..tmpchr|[0] = go|
|00003300| 74 69 6e 66 5b 30 5d 3b | 0a 09 61 72 63 74 65 6d |tinf[0];|..arctem|
|00003310| 70 20 3d 20 22 2d 24 24 | 24 22 3b 0a 09 61 72 63 |p = "-$$|$";..arc|
|00003320| 74 65 6d 70 5b 30 5d 20 | 3d 20 74 6d 70 63 68 72 |temp[0] |= tmpchr|
|00003330| 5b 30 5d 3b 0a 23 65 6e | 64 69 66 0a 09 61 72 63 |[0];.#en|dif..arc|
|00003340| 74 65 6d 70 32 20 3d 20 | 4e 55 4c 4c 3b 0a 0a 23 |temp2 = |NULL;..#|
|00003350| 69 66 09 21 55 4e 49 58 | 0a 09 2f 2a 20 61 76 6f |if.!UNIX|../* avo|
|00003360| 69 64 20 61 6e 79 20 63 | 61 73 65 20 70 72 6f 62 |id any c|ase prob|
|00003370| 6c 65 6d 73 20 77 69 74 | 68 20 61 72 67 75 6d 65 |lems wit|h argume|
|00003380| 6e 74 73 20 2a 2f 0a 0a | 09 66 6f 72 20 28 6e 20 |nts */..|.for (n |
|00003390| 3d 20 31 3b 20 6e 20 3c | 20 6e 75 6d 3b 20 6e 2b |= 1; n <| num; n+|
|000033a0| 2b 29 09 2f 2a 20 66 6f | 72 20 65 61 63 68 20 61 |+)./* fo|r each a|
|000033b0| 72 67 75 6d 65 6e 74 20 | 2a 2f 0a 09 09 75 70 70 |rgument |*/...upp|
|000033c0| 65 72 28 61 72 67 5b 6e | 5d 29 3b 09 2f 2a 20 63 |er(arg[n|]);./* c|
|000033d0| 6f 6e 76 65 72 74 20 69 | 74 20 74 6f 20 75 70 70 |onvert i|t to upp|
|000033e0| 65 72 63 61 73 65 20 2a | 2f 0a 23 65 6c 73 65 0a |ercase *|/.#else.|
|000033f0| 09 2f 2a 20 61 76 6f 69 | 64 20 63 61 73 65 20 70 |./* avoi|d case p|
|00003400| 72 6f 62 6c 65 6d 73 20 | 77 69 74 68 20 63 6f 6d |roblems |with com|
|00003410| 6d 61 6e 64 20 6f 70 74 | 69 6f 6e 73 20 2a 2f 0a |mand opt|ions */.|
|00003420| 09 75 70 70 65 72 28 61 | 72 67 5b 31 5d 29 3b 09 |.upper(a|rg[1]);.|
|00003430| 09 2f 2a 20 63 6f 6e 76 | 65 72 74 20 74 6f 20 75 |./* conv|ert to u|
|00003440| 70 70 65 72 63 61 73 65 | 20 2a 2f 0a 23 65 6e 64 |ppercase| */.#end|
|00003450| 69 66 0a 0a 09 2f 2a 20 | 63 72 65 61 74 65 20 61 |if.../* |create a|
|00003460| 72 63 68 69 76 65 20 6e | 61 6d 65 73 2c 20 73 75 |rchive n|ames, su|
|00003470| 70 70 6c 79 69 6e 67 20 | 64 65 66 61 75 6c 74 73 |pplying |defaults|
|00003480| 20 2a 2f 0a 23 69 66 09 | 55 4e 49 58 0a 09 69 66 | */.#if.|UNIX..if|
|00003490| 20 28 21 73 74 61 74 28 | 61 72 67 5b 32 5d 2c 26 | (!stat(|arg[2],&|
|000034a0| 73 62 75 66 29 29 20 7b | 0a 09 09 69 66 20 28 28 |sbuf)) {|...if ((|
|000034b0| 73 62 75 66 2e 73 74 5f | 6d 6f 64 65 20 26 20 53 |sbuf.st_|mode & S|
|000034c0| 5f 49 46 4d 54 29 20 3d | 3d 20 53 5f 49 46 44 49 |_IFMT) =|= S_IFDI|
|000034d0| 52 29 0a 09 09 09 6d 61 | 6b 65 66 6e 61 6d 28 61 |R)....ma|kefnam(a|
|000034e0| 72 67 5b 32 5d 2c 22 2e | 61 72 63 22 2c 61 72 63 |rg[2],".|arc",arc|
|000034f0| 6e 61 6d 65 29 3b 0a 09 | 09 65 6c 73 65 0a 09 09 |name);..|.else...|
|00003500| 09 73 74 72 63 70 79 28 | 61 72 63 6e 61 6d 65 2c |.strcpy(|arcname,|
|00003510| 61 72 67 5b 32 5d 29 3b | 0a 09 7d 20 65 6c 73 65 |arg[2]);|..} else|
|00003520| 0a 09 09 6d 61 6b 65 66 | 6e 61 6d 28 61 72 67 5b |...makef|nam(arg[|
|00003530| 32 5d 2c 22 2e 61 72 63 | 22 2c 61 72 63 6e 61 6d |2],".arc|",arcnam|
|00003540| 65 29 3b 0a 23 65 6c 73 | 65 0a 09 6d 61 6b 65 66 |e);.#els|e..makef|
|00003550| 6e 61 6d 28 61 72 67 5b | 32 5d 2c 20 22 2e 41 52 |nam(arg[|2], ".AR|
|00003560| 43 22 2c 20 61 72 63 6e | 61 6d 65 29 3b 0a 23 65 |C", arcn|ame);.#e|
|00003570| 6e 64 69 66 0a 09 2f 2a | 20 6d 61 6b 65 66 6e 61 |ndif../*| makefna|
|00003580| 6d 28 22 2e 24 24 24 22 | 2c 61 72 63 6e 61 6d 65 |m(".$$$"|,arcname|
|00003590| 2c 6e 65 77 6e 61 6d 65 | 29 3b 20 2a 2f 0a 09 73 |,newname|); */..s|
|000035a0| 70 72 69 6e 74 66 28 6e | 65 77 6e 61 6d 65 2c 20 |printf(n|ewname, |
|000035b0| 22 25 73 2e 61 72 63 22 | 2c 20 61 72 63 74 65 6d |"%s.arc"|, arctem|
|000035c0| 70 29 3b 0a 09 6d 61 6b | 65 66 6e 61 6d 28 22 2e |p);..mak|efnam(".|
|000035d0| 42 41 4b 22 2c 20 61 72 | 63 6e 61 6d 65 2c 20 62 |BAK", ar|cname, b|
|000035e0| 61 6b 6e 61 6d 65 29 3b | 0a 0a 09 2f 2a 20 6e 6f |akname);|.../* no|
|000035f0| 77 20 73 63 61 6e 20 74 | 68 65 20 63 6f 6d 6d 61 |w scan t|he comma|
|00003600| 6e 64 20 61 6e 64 20 73 | 65 65 20 77 68 61 74 20 |nd and s|ee what |
|00003610| 77 65 20 61 72 65 20 74 | 6f 20 64 6f 20 2a 2f 0a |we are t|o do */.|
|00003620| 0a 09 66 6f 72 20 28 61 | 20 3d 20 61 72 67 5b 31 |..for (a| = arg[1|
|00003630| 5d 3b 20 2a 61 3b 20 61 | 2b 2b 29 20 7b 09 2f 2a |]; *a; a|++) {./*|
|00003640| 20 73 63 61 6e 20 74 68 | 65 20 6f 70 74 69 6f 6e | scan th|e option|
|00003650| 20 66 6c 61 67 73 20 2a | 2f 0a 23 69 66 09 21 5f | flags *|/.#if.!_|
|00003660| 4d 54 53 0a 09 09 69 66 | 20 28 69 6e 64 65 78 28 |MTS...if| (index(|
|00003670| 22 41 4d 55 46 44 58 45 | 50 4c 56 54 43 52 22 2c |"AMUFDXE|PLVTCR",|
|00003680| 20 2a 61 29 29 20 7b 09 | 2f 2a 20 69 66 20 61 20 | *a)) {.|/* if a |
|00003690| 6b 6e 6f 77 6e 20 63 6f | 6d 6d 61 6e 64 20 2a 2f |known co|mmand */|
|000036a0| 0a 23 65 6c 73 65 0a 09 | 09 69 66 20 28 69 6e 64 |.#else..|.if (ind|
|000036b0| 65 78 28 22 41 4d 55 46 | 44 58 45 50 4c 56 54 43 |ex("AMUF|DXEPLVTC|
|000036c0| 22 2c 20 2a 61 29 29 20 | 7b 0a 23 65 6e 64 69 66 |", *a)) |{.#endif|
|000036d0| 0a 09 09 09 69 66 20 28 | 6f 70 74 29 2f 2a 20 64 |....if (|opt)/* d|
|000036e0| 6f 20 77 65 20 68 61 76 | 65 20 6f 6e 65 20 79 65 |o we hav|e one ye|
|000036f0| 74 3f 20 2a 2f 0a 09 09 | 09 09 61 62 6f 72 74 28 |t? */...|..abort(|
|00003700| 22 43 61 6e 6e 6f 74 20 | 6d 69 78 20 25 63 20 61 |"Cannot |mix %c a|
|00003710| 6e 64 20 25 63 22 2c 20 | 6f 70 74 2c 20 2a 61 29 |nd %c", |opt, *a)|
|00003720| 3b 0a 09 09 09 6f 70 74 | 20 3d 20 2a 61 3b 09 2f |;....opt| = *a;./|
|00003730| 2a 20 65 6c 73 65 20 72 | 65 6d 65 6d 62 65 72 20 |* else r|emember |
|00003740| 69 74 20 2a 2f 0a 09 09 | 7d 20 65 6c 73 65 20 69 |it */...|} else i|
|00003750| 66 20 28 2a 61 20 3d 3d | 20 27 42 27 29 09 2f 2a |f (*a ==| 'B')./*|
|00003760| 20 72 65 74 61 69 6e 20 | 62 61 63 6b 75 70 20 63 | retain |backup c|
|00003770| 6f 70 79 20 2a 2f 0a 09 | 09 09 6b 65 65 70 62 61 |opy */..|..keepba|
|00003780| 6b 20 3d 20 31 3b 0a 0a | 09 09 65 6c 73 65 20 69 |k = 1;..|..else i|
|00003790| 66 20 28 2a 61 20 3d 3d | 20 27 57 27 29 09 2f 2a |f (*a ==| 'W')./*|
|000037a0| 20 73 75 70 70 72 65 73 | 73 20 77 61 72 6e 69 6e | suppres|s warnin|
|000037b0| 67 73 20 2a 2f 0a 09 09 | 09 77 61 72 6e 20 3d 20 |gs */...|.warn = |
|000037c0| 30 3b 0a 23 69 66 09 21 | 44 4f 53 0a 09 09 65 6c |0;.#if.!|DOS...el|
|000037d0| 73 65 20 69 66 20 28 2a | 61 20 3d 3d 20 27 49 27 |se if (*|a == 'I'|
|000037e0| 29 09 2f 2a 20 69 6d 61 | 67 65 20 6d 6f 64 65 2c |)./* ima|ge mode,|
|000037f0| 20 6e 6f 20 41 53 43 49 | 49 2f 45 42 43 44 49 43 | no ASCI|I/EBCDIC|
|00003800| 20 78 2d 6c 61 74 65 20 | 2a 2f 0a 09 09 09 69 6d | x-late |*/....im|
|00003810| 61 67 65 20 3d 20 21 69 | 6d 61 67 65 3b 0a 23 65 |age = !i|mage;.#e|
|00003820| 6e 64 69 66 0a 23 69 66 | 09 47 45 4d 44 4f 53 0a |ndif.#if|.GEMDOS.|
|00003830| 09 09 65 6c 73 65 20 69 | 66 20 28 2a 61 20 3d 3d |..else i|f (*a ==|
|00003840| 20 27 48 27 29 09 2f 2a | 20 70 61 75 73 65 20 62 | 'H')./*| pause b|
|00003850| 65 66 6f 72 65 20 65 78 | 69 74 20 2a 2f 0a 09 09 |efore ex|it */...|
|00003860| 09 68 6f 6c 64 20 3d 20 | 31 3b 0a 23 65 6e 64 69 |.hold = |1;.#endi|
|00003870| 66 0a 0a 09 09 65 6c 73 | 65 20 69 66 20 28 2a 61 |f....els|e if (*a|
|00003880| 20 3d 3d 20 27 4e 27 29 | 09 2f 2a 20 73 75 70 70 | == 'N')|./* supp|
|00003890| 72 65 73 73 20 6e 6f 74 | 65 73 20 61 6e 64 20 63 |ress not|es and c|
|000038a0| 6f 6d 6d 65 6e 74 73 20 | 2a 2f 0a 09 09 09 6e 6f |omments |*/....no|
|000038b0| 74 65 20 3d 20 30 3b 0a | 0a 09 09 65 6c 73 65 20 |te = 0;.|...else |
|000038c0| 69 66 20 28 2a 61 20 3d | 3d 20 27 4f 27 29 09 2f |if (*a =|= 'O')./|
|000038d0| 2a 20 6f 76 65 72 77 72 | 69 74 65 20 66 69 6c 65 |* overwr|ite file|
|000038e0| 20 6f 6e 20 65 78 74 72 | 61 63 74 20 2a 2f 0a 09 | on extr|act */..|
|000038f0| 09 09 6f 76 65 72 6c 61 | 79 20 3d 20 31 3b 0a 0a |..overla|y = 1;..|
|00003900| 09 09 65 6c 73 65 20 69 | 66 20 28 2a 61 20 3d 3d |..else i|f (*a ==|
|00003910| 20 27 47 27 29 20 7b 09 | 2f 2a 20 67 61 72 62 6c | 'G') {.|/* garbl|
|00003920| 65 20 2a 2f 0a 09 09 09 | 70 61 73 73 77 6f 72 64 |e */....|password|
|00003930| 20 3d 20 61 20 2b 20 31 | 3b 0a 09 09 09 77 68 69 | = a + 1|;....whi|
|00003940| 6c 65 20 28 2a 61 29 0a | 09 09 09 09 61 2b 2b 3b |le (*a).|....a++;|
|00003950| 0a 09 09 09 61 2d 2d 3b | 0a 23 69 66 09 5f 4d 54 |....a--;|.#if._MT|
|00003960| 53 0a 09 09 09 65 74 6f | 61 28 70 61 73 73 77 6f |S....eto|a(passwo|
|00003970| 72 64 2c 20 73 74 72 6c | 65 6e 28 70 61 73 73 77 |rd, strl|en(passw|
|00003980| 6f 72 64 29 29 3b 0a 23 | 65 6e 64 69 66 0a 09 09 |ord));.#|endif...|
|00003990| 7d 20 65 6c 73 65 20 69 | 66 20 28 2a 61 20 3d 3d |} else i|f (*a ==|
|000039a0| 20 27 53 27 29 09 2f 2a | 20 73 74 6f 72 61 67 65 | 'S')./*| storage|
|000039b0| 20 6b 6c 75 64 67 65 20 | 2a 2f 0a 09 09 09 6e 6f | kludge |*/....no|
|000039c0| 63 6f 6d 70 20 3d 20 31 | 3b 0a 0a 09 09 65 6c 73 |comp = 1|;....els|
|000039d0| 65 20 69 66 20 28 2a 61 | 20 3d 3d 20 27 4b 27 29 |e if (*a| == 'K')|
|000039e0| 09 2f 2a 20 73 70 65 63 | 69 61 6c 20 6b 6c 75 64 |./* spec|ial klud|
|000039f0| 67 65 20 2a 2f 0a 09 09 | 09 6b 6c 75 64 67 65 20 |ge */...|.kludge |
|00003a00| 3d 20 31 3b 0a 0a 09 09 | 65 6c 73 65 20 69 66 20 |= 1;....|else if |
|00003a10| 28 2a 61 20 3d 3d 20 27 | 51 27 29 09 2f 2a 20 75 |(*a == '|Q')./* u|
|00003a20| 73 65 20 73 71 75 61 73 | 68 69 6e 67 20 2a 2f 0a |se squas|hing */.|
|00003a30| 09 09 09 64 6f 73 71 75 | 61 73 68 20 3d 20 31 3b |...dosqu|ash = 1;|
|00003a40| 0a 0a 09 09 65 6c 73 65 | 20 69 66 20 28 2a 61 20 |....else| if (*a |
|00003a50| 3d 3d 20 27 2d 27 20 7c | 7c 20 2a 61 20 3d 3d 20 |== '-' ||| *a == |
|00003a60| 27 2f 27 29 09 2f 2a 20 | 55 4e 49 58 20 61 6e 64 |'/')./* |UNIX and|
|00003a70| 20 50 43 2d 44 4f 53 0a | 09 09 09 09 09 09 09 20 | PC-DOS.|....... |
|00003a80| 2a 20 6f 70 74 69 6f 6e | 20 6d 61 72 6b 65 72 73 |* option| markers|
|00003a90| 20 2a 2f 0a 09 09 09 3b | 0a 0a 09 09 65 6c 73 65 | */....;|....else|
|00003aa0| 0a 09 09 09 61 62 6f 72 | 74 28 22 25 63 20 69 73 |....abor|t("%c is|
|00003ab0| 20 61 6e 20 75 6e 6b 6e | 6f 77 6e 20 63 6f 6d 6d | an unkn|own comm|
|00003ac0| 61 6e 64 22 2c 20 2a 61 | 29 3b 0a 09 7d 0a 0a 09 |and", *a|);..}...|
|00003ad0| 69 66 20 28 21 6f 70 74 | 29 0a 09 09 61 62 6f 72 |if (!opt|)...abor|
|00003ae0| 74 28 22 49 20 68 61 76 | 65 20 6e 6f 74 68 69 6e |t("I hav|e nothin|
|00003af0| 67 20 74 6f 20 64 6f 21 | 22 29 3b 0a 0a 09 2f 2a |g to do!|");.../*|
|00003b00| 20 67 65 74 20 74 68 65 | 20 66 69 6c 65 73 20 6c | get the| files l|
|00003b10| 69 73 74 20 73 65 74 20 | 75 70 20 2a 2f 0a 0a 09 |ist set |up */...|
|00003b20| 6c 6e 75 6d 20 3d 20 6e | 75 6d 20 2d 20 33 3b 09 |lnum = n|um - 3;.|
|00003b30| 09 2f 2a 20 69 6e 69 74 | 69 61 6c 20 6c 65 6e 67 |./* init|ial leng|
|00003b40| 74 68 20 6f 66 20 6c 69 | 73 74 20 2a 2f 0a 09 6c |th of li|st */..l|
|00003b50| 73 74 20 3d 20 28 63 68 | 61 72 20 2a 2a 29 20 63 |st = (ch|ar **) c|
|00003b60| 61 6c 6c 6f 63 28 28 6c | 6e 75 6d 3d 3d 30 29 20 |alloc((l|num==0) |
|00003b70| 3f 20 31 3a 6c 6e 75 6d | 2c 0a 09 09 09 09 20 73 |? 1:lnum|,..... s|
|00003b80| 69 7a 65 6f 66 28 63 68 | 61 72 20 2a 29 29 3b 09 |izeof(ch|ar *));.|
|00003b90| 2f 2a 20 69 6e 69 74 69 | 61 6c 20 6c 69 73 74 20 |/* initi|al list |
|00003ba0| 2a 2f 0a 09 66 6f 72 20 | 28 6e 20 3d 20 33 3b 20 |*/..for |(n = 3; |
|00003bb0| 6e 20 3c 20 6e 75 6d 3b | 20 6e 2b 2b 29 0a 09 09 |n < num;| n++)...|
|00003bc0| 6c 73 74 5b 6e 20 2d 20 | 33 5d 20 3d 20 61 72 67 |lst[n - |3] = arg|
|00003bd0| 5b 6e 5d 3b 0a 0a 09 66 | 6f 72 20 28 6e 20 3d 20 |[n];...f|or (n = |
|00003be0| 30 3b 20 6e 20 3c 20 6c | 6e 75 6d 3b 29 20 7b 2f |0; n < l|num;) {/|
|00003bf0| 2a 20 65 78 70 61 6e 64 | 20 69 6e 64 69 72 65 63 |* expand| indirec|
|00003c00| 74 20 72 65 66 65 72 65 | 6e 63 65 73 20 2a 2f 0a |t refere|nces */.|
|00003c10| 09 09 69 66 20 28 2a 6c | 73 74 5b 6e 5d 20 3d 3d |..if (*l|st[n] ==|
|00003c20| 20 27 40 27 29 0a 09 09 | 09 65 78 70 61 6e 64 6c | '@')...|.expandl|
|00003c30| 73 74 28 6e 29 3b 0a 23 | 69 66 09 47 45 4d 44 4f |st(n);.#|if.GEMDO|
|00003c40| 53 09 09 2f 2a 20 72 65 | 64 69 72 65 63 74 20 73 |S../* re|direct s|
|00003c50| 74 64 6f 75 74 20 66 72 | 6f 6d 20 74 68 65 20 64 |tdout fr|om the d|
|00003c60| 65 73 6b 74 6f 70 2e 2e | 2e 2a 2f 0a 09 09 65 6c |esktop..|.*/...el|
|00003c70| 73 65 20 69 66 20 28 2a | 6c 73 74 5b 6e 5d 20 3d |se if (*|lst[n] =|
|00003c80| 3d 20 27 3e 27 29 20 7b | 0a 09 09 09 61 72 63 74 |= '>') {|....arct|
|00003c90| 65 6d 70 32 20 3d 20 28 | 2b 2b 6c 73 74 5b 6e 5d |emp2 = (|++lst[n]|
|00003ca0| 29 3b 0a 09 09 09 6c 73 | 74 5b 6e 5d 20 3d 20 6c |);....ls|t[n] = l|
|00003cb0| 73 74 5b 6c 6e 75 6d 2d | 31 5d 3b 09 2f 2a 20 64 |st[lnum-|1];./* d|
|00003cc0| 65 6c 65 74 65 20 74 68 | 69 73 20 65 6e 74 72 79 |elete th|is entry|
|00003cd0| 20 2a 2f 0a 09 09 09 6c | 6e 75 6d 2d 2d 3b 0a 09 | */....l|num--;..|
|00003ce0| 09 09 69 66 20 28 61 72 | 63 74 65 6d 70 32 5b 30 |..if (ar|ctemp2[0|
|00003cf0| 5d 20 3d 3d 20 27 3e 27 | 29 20 7b 0a 09 09 09 09 |] == '>'|) {.....|
|00003d00| 61 70 70 65 6e 64 20 3d | 20 31 3b 0a 09 09 09 09 |append =| 1;.....|
|00003d10| 61 72 63 74 65 6d 70 32 | 2b 2b 3b 0a 09 09 09 7d |arctemp2|++;....}|
|00003d20| 0a 09 09 09 65 6c 73 65 | 09 61 70 70 65 6e 64 20 |....else|.append |
|00003d30| 3d 20 30 3b 0a 09 09 7d | 0a 23 65 6e 64 69 66 0a |= 0;...}|.#endif.|
|00003d40| 09 09 65 6c 73 65 0a 09 | 09 09 6e 2b 2b 3b 0a 09 |..else..|..n++;..|
|00003d50| 7d 0a 23 69 66 09 47 45 | 4d 44 4f 53 0a 09 69 66 |}.#if.GE|MDOS..if|
|00003d60| 20 28 61 72 63 74 65 6d | 70 32 29 0a 09 09 66 72 | (arctem|p2)...fr|
|00003d70| 65 6f 70 65 6e 28 61 72 | 63 74 65 6d 70 32 2c 61 |eopen(ar|ctemp2,a|
|00003d80| 70 70 65 6e 64 20 3f 20 | 22 61 22 20 3a 20 22 77 |ppend ? |"a" : "w|
|00003d90| 22 2c 73 74 64 6f 75 74 | 29 3b 0a 23 65 6e 64 69 |",stdout|);.#endi|
|00003da0| 66 0a 0a 09 2f 2a 20 61 | 63 74 20 6f 6e 20 77 68 |f.../* a|ct on wh|
|00003db0| 61 74 65 76 65 72 20 61 | 63 74 69 6f 6e 20 63 6f |atever a|ction co|
|00003dc0| 6d 6d 61 6e 64 20 77 61 | 73 20 67 69 76 65 6e 20 |mmand wa|s given |
|00003dd0| 2a 2f 0a 0a 09 73 77 69 | 74 63 68 20 28 6f 70 74 |*/...swi|tch (opt|
|00003de0| 29 20 7b 09 09 2f 2a 20 | 61 63 74 69 6f 6e 20 64 |) {../* |action d|
|00003df0| 65 70 65 6e 64 73 20 6f | 6e 20 63 6f 6d 6d 61 6e |epends o|n comman|
|00003e00| 64 20 2a 2f 0a 09 63 61 | 73 65 20 27 41 27 3a 09 |d */..ca|se 'A':.|
|00003e10| 09 2f 2a 20 41 64 64 20 | 2a 2f 0a 09 63 61 73 65 |./* Add |*/..case|
|00003e20| 20 27 4d 27 3a 09 09 2f | 2a 20 4d 6f 76 65 20 2a | 'M':../|* Move *|
|00003e30| 2f 0a 09 63 61 73 65 20 | 27 55 27 3a 09 09 2f 2a |/..case |'U':../*|
|00003e40| 20 55 70 64 61 74 65 20 | 2a 2f 0a 09 63 61 73 65 | Update |*/..case|
|00003e50| 20 27 46 27 3a 09 09 2f | 2a 20 46 72 65 73 68 65 | 'F':../|* Freshe|
|00003e60| 6e 20 2a 2f 0a 09 09 61 | 64 64 61 72 63 28 6c 6e |n */...a|ddarc(ln|
|00003e70| 75 6d 2c 20 6c 73 74 2c | 20 28 6f 70 74 20 3d 3d |um, lst,| (opt ==|
|00003e80| 20 27 4d 27 29 2c 20 28 | 6f 70 74 20 3d 3d 20 27 | 'M'), (|opt == '|
|00003e90| 55 27 29 2c 20 28 6f 70 | 74 20 3d 3d 20 27 46 27 |U'), (op|t == 'F'|
|00003ea0| 29 29 3b 0a 09 09 62 72 | 65 61 6b 3b 0a 0a 09 63 |));...br|eak;...c|
|00003eb0| 61 73 65 20 27 44 27 3a | 09 09 2f 2a 20 44 65 6c |ase 'D':|../* Del|
|00003ec0| 65 74 65 20 2a 2f 0a 09 | 09 64 65 6c 61 72 63 28 |ete */..|.delarc(|
|00003ed0| 6c 6e 75 6d 2c 20 6c 73 | 74 29 3b 0a 09 09 62 72 |lnum, ls|t);...br|
|00003ee0| 65 61 6b 3b 0a 0a 09 63 | 61 73 65 20 27 45 27 3a |eak;...c|ase 'E':|
|00003ef0| 09 09 2f 2a 20 45 78 74 | 72 61 63 74 20 2a 2f 0a |../* Ext|ract */.|
|00003f00| 09 63 61 73 65 20 27 58 | 27 3a 09 09 2f 2a 20 65 |.case 'X|':../* e|
|00003f10| 58 74 72 61 63 74 20 2a | 2f 0a 09 63 61 73 65 20 |Xtract *|/..case |
|00003f20| 27 50 27 3a 09 09 2f 2a | 20 50 72 69 6e 74 20 2a |'P':../*| Print *|
|00003f30| 2f 0a 09 09 65 78 74 61 | 72 63 28 6c 6e 75 6d 2c |/...exta|rc(lnum,|
|00003f40| 20 6c 73 74 2c 20 28 6f | 70 74 20 3d 3d 20 27 50 | lst, (o|pt == 'P|
|00003f50| 27 29 29 3b 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |'));...b|reak;...|
|00003f60| 63 61 73 65 20 27 56 27 | 3a 09 09 2f 2a 20 56 65 |case 'V'|:../* Ve|
|00003f70| 72 62 6f 73 65 20 6c 69 | 73 74 20 2a 2f 0a 09 09 |rbose li|st */...|
|00003f80| 62 6f 73 65 20 3d 20 31 | 3b 0a 09 63 61 73 65 20 |bose = 1|;..case |
|00003f90| 27 4c 27 3a 09 09 2f 2a | 20 4c 69 73 74 20 2a 2f |'L':../*| List */|
|00003fa0| 0a 09 09 6c 73 74 61 72 | 63 28 6c 6e 75 6d 2c 20 |...lstar|c(lnum, |
|00003fb0| 6c 73 74 29 3b 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |lst);...|break;..|
|00003fc0| 09 63 61 73 65 20 27 54 | 27 3a 09 09 2f 2a 20 54 |.case 'T|':../* T|
|00003fd0| 65 73 74 20 2a 2f 0a 09 | 09 74 73 74 61 72 63 28 |est */..|.tstarc(|
|00003fe0| 29 3b 0a 09 09 62 72 65 | 61 6b 3b 0a 0a 09 63 61 |);...bre|ak;...ca|
|00003ff0| 73 65 20 27 43 27 3a 09 | 09 2f 2a 20 43 6f 6e 76 |se 'C':.|./* Conv|
|00004000| 65 72 74 20 2a 2f 0a 09 | 09 63 76 74 61 72 63 28 |ert */..|.cvtarc(|
|00004010| 6c 6e 75 6d 2c 20 6c 73 | 74 29 3b 0a 09 09 62 72 |lnum, ls|t);...br|
|00004020| 65 61 6b 3b 0a 23 69 66 | 09 21 5f 4d 54 53 0a 09 |eak;.#if|.!_MTS..|
|00004030| 63 61 73 65 20 27 52 27 | 3a 09 09 2f 2a 20 52 75 |case 'R'|:../* Ru|
|00004040| 6e 20 2a 2f 0a 09 09 72 | 75 6e 61 72 63 28 6c 6e |n */...r|unarc(ln|
|00004050| 75 6d 2c 20 6c 73 74 29 | 3b 0a 09 09 62 72 65 61 |um, lst)|;...brea|
|00004060| 6b 3b 0a 23 65 6e 64 69 | 66 0a 09 64 65 66 61 75 |k;.#endi|f..defau|
|00004070| 6c 74 3a 0a 09 09 61 62 | 6f 72 74 28 22 49 20 64 |lt:...ab|ort("I d|
|00004080| 6f 6e 27 74 20 6b 6e 6f | 77 20 68 6f 77 20 74 6f |on't kno|w how to|
|00004090| 20 64 6f 20 25 63 20 79 | 65 74 21 22 2c 20 6f 70 | do %c y|et!", op|
|000040a0| 74 29 3b 0a 09 7d 0a 23 | 69 66 09 47 45 4d 44 4f |t);..}.#|if.GEMDO|
|000040b0| 53 0a 09 69 66 20 28 68 | 6f 6c 64 29 0a 09 09 65 |S..if (h|old)...e|
|000040c0| 78 69 74 70 61 75 73 65 | 28 29 3b 0a 23 65 6e 64 |xitpause|();.#end|
|000040d0| 69 66 0a 09 72 65 74 75 | 72 6e 20 6e 65 72 72 73 |if..retu|rn nerrs|
|000040e0| 3b 0a 7d 0a 73 74 61 74 | 69 63 09 76 6f 69 64 0a |;.}.stat|ic.void.|
|000040f0| 65 78 70 61 6e 64 6c 73 | 74 28 6e 29 09 09 09 2f |expandls|t(n).../|
|00004100| 2a 20 65 78 70 61 6e 64 | 20 61 6e 20 69 6e 64 69 |* expand| an indi|
|00004110| 72 65 63 74 20 72 65 66 | 65 72 65 6e 63 65 20 2a |rect ref|erence *|
|00004120| 2f 0a 09 69 6e 74 09 09 | 6e 3b 09 2f 2a 20 6e 75 |/..int..|n;./* nu|
|00004130| 6d 62 65 72 20 6f 66 20 | 65 6e 74 72 79 20 74 6f |mber of |entry to|
|00004140| 20 65 78 70 61 6e 64 20 | 2a 2f 0a 7b 0a 09 46 49 | expand |*/.{..FI|
|00004150| 4c 45 09 20 20 20 20 20 | 20 20 2a 6c 66 2c 20 2a |LE. | *lf, *|
|00004160| 66 6f 70 65 6e 28 29 3b | 09 2f 2a 20 6c 69 73 74 |fopen();|./* list|
|00004170| 20 66 69 6c 65 2c 20 6f | 70 65 6e 65 72 20 2a 2f | file, o|pener */|
|00004180| 0a 09 63 68 61 72 09 20 | 20 20 20 20 20 20 2a 6d |..char. | *m|
|00004190| 61 6c 6c 6f 63 28 29 2c | 20 2a 72 65 61 6c 6c 6f |alloc(),| *reallo|
|000041a0| 63 28 29 3b 09 2f 2a 20 | 6d 65 6d 6f 72 79 20 6d |c();./* |memory m|
|000041b0| 61 6e 61 67 65 72 73 20 | 2a 2f 0a 09 63 68 61 72 |anagers |*/..char|
|000041c0| 09 09 62 75 66 5b 31 30 | 30 5d 3b 09 2f 2a 20 69 |..buf[10|0];./* i|
|000041d0| 6e 70 75 74 20 62 75 66 | 66 65 72 20 2a 2f 0a 09 |nput buf|fer */..|
|000041e0| 69 6e 74 09 09 78 3b 09 | 2f 2a 20 69 6e 64 65 78 |int..x;.|/* index|
|000041f0| 20 2a 2f 0a 09 63 68 61 | 72 09 20 20 20 20 20 20 | */..cha|r. |
|00004200| 20 2a 70 20 3d 20 6c 73 | 74 5b 6e 5d 20 2b 20 31 | *p = ls|t[n] + 1|
|00004210| 3b 20 2f 2a 20 66 69 6c | 65 6e 61 6d 65 20 70 6f |; /* fil|ename po|
|00004220| 69 6e 74 65 72 20 2a 2f | 0a 0a 09 69 66 20 28 2a |inter */|...if (*|
|00004230| 70 29 20 7b 09 09 2f 2a | 20 75 73 65 20 6e 61 6d |p) {../*| use nam|
|00004240| 65 20 69 66 20 6f 6e 65 | 20 77 61 73 20 67 69 76 |e if one| was giv|
|00004250| 65 6e 20 2a 2f 0a 09 09 | 6d 61 6b 65 66 6e 61 6d |en */...|makefnam|
|00004260| 28 70 2c 20 22 2e 43 4d | 44 22 2c 20 62 75 66 29 |(p, ".CM|D", buf)|
|00004270| 3b 0a 09 09 69 66 20 28 | 21 28 6c 66 20 3d 20 66 |;...if (|!(lf = f|
|00004280| 6f 70 65 6e 28 62 75 66 | 2c 20 22 72 22 29 29 29 |open(buf|, "r")))|
|00004290| 0a 09 09 09 61 62 6f 72 | 74 28 22 43 61 6e 6e 6f |....abor|t("Canno|
|000042a0| 74 20 72 65 61 64 20 6c | 69 73 74 20 6f 66 20 66 |t read l|ist of f|
|000042b0| 69 6c 65 73 20 69 6e 20 | 25 73 22 2c 20 62 75 66 |iles in |%s", buf|
|000042c0| 29 3b 0a 09 7d 20 65 6c | 73 65 0a 09 09 6c 66 20 |);..} el|se...lf |
|000042d0| 3d 20 73 74 64 69 6e 3b | 09 2f 2a 20 65 6c 73 65 |= stdin;|./* else|
|000042e0| 20 75 73 65 20 73 74 61 | 6e 64 61 72 64 20 69 6e | use sta|ndard in|
|000042f0| 70 75 74 20 2a 2f 0a 0a | 09 66 6f 72 20 28 78 20 |put */..|.for (x |
|00004300| 3d 20 6e 20 2b 20 31 3b | 20 78 20 3c 20 6c 6e 75 |= n + 1;| x < lnu|
|00004310| 6d 3b 20 78 2b 2b 29 09 | 2f 2a 20 64 72 6f 70 20 |m; x++).|/* drop |
|00004320| 72 65 66 65 72 65 6e 63 | 65 20 66 72 6f 6d 20 74 |referenc|e from t|
|00004330| 68 65 20 6c 69 73 74 20 | 2a 2f 0a 09 09 6c 73 74 |he list |*/...lst|
|00004340| 5b 78 20 2d 20 31 5d 20 | 3d 20 6c 73 74 5b 78 5d |[x - 1] |= lst[x]|
|00004350| 3b 0a 09 6c 6e 75 6d 2d | 2d 3b 0a 0a 09 77 68 69 |;..lnum-|-;...whi|
|00004360| 6c 65 20 28 66 73 63 61 | 6e 66 28 6c 66 2c 20 22 |le (fsca|nf(lf, "|
|00004370| 25 39 39 73 22 2c 20 62 | 75 66 29 20 3e 20 30 29 |%99s", b|uf) > 0)|
|00004380| 20 7b 09 2f 2a 20 72 65 | 61 64 20 69 6e 20 74 68 | {./* re|ad in th|
|00004390| 65 20 6c 69 73 74 20 2a | 2f 0a 09 09 69 66 20 28 |e list *|/...if (|
|000043a0| 21 28 6c 73 74 20 3d 28 | 63 68 61 72 20 2a 2a 29 |!(lst =(|char **)|
|000043b0| 72 65 61 6c 6c 6f 63 28 | 6c 73 74 2c 20 28 6c 6e |realloc(|lst, (ln|
|000043c0| 75 6d 20 2b 20 31 29 20 | 2a 20 73 69 7a 65 6f 66 |um + 1) |* sizeof|
|000043d0| 28 63 68 61 72 20 2a 29 | 29 29 29 0a 09 09 09 61 |(char *)|)))....a|
|000043e0| 62 6f 72 74 28 22 74 6f | 6f 20 6d 61 6e 79 20 66 |bort("to|o many f|
|000043f0| 69 6c 65 20 72 65 66 65 | 72 65 6e 63 65 73 22 29 |ile refe|rences")|
|00004400| 3b 0a 0a 09 09 6c 73 74 | 5b 6c 6e 75 6d 5d 20 3d |;....lst|[lnum] =|
|00004410| 20 6d 61 6c 6c 6f 63 28 | 73 74 72 6c 65 6e 28 62 | malloc(|strlen(b|
|00004420| 75 66 29 20 2b 20 31 29 | 3b 0a 09 09 73 74 72 63 |uf) + 1)|;...strc|
|00004430| 70 79 28 6c 73 74 5b 6c | 6e 75 6d 5d 2c 20 62 75 |py(lst[l|num], bu|
|00004440| 66 29 3b 20 2f 2a 20 73 | 61 76 65 20 74 68 65 20 |f); /* s|ave the |
|00004450| 6e 61 6d 65 20 2a 2f 0a | 09 09 6c 6e 75 6d 2b 2b |name */.|..lnum++|
|00004460| 3b 0a 09 7d 0a 0a 09 69 | 66 20 28 6c 66 20 21 3d |;..}...i|f (lf !=|
|00004470| 20 73 74 64 69 6e 29 09 | 2f 2a 20 61 76 6f 69 64 | stdin).|/* avoid|
|00004480| 20 63 6c 6f 73 69 6e 67 | 20 73 74 61 6e 64 61 72 | closing| standar|
|00004490| 64 20 69 6e 70 75 74 20 | 2a 2f 0a 09 09 66 63 6c |d input |*/...fcl|
|000044a0| 6f 73 65 28 6c 66 29 3b | 0a 7d 0a 5d 20 3d 20 6c |ose(lf);|.}.] = l|
|000044b0| 73 74 5b 6c 6e 75 6d 2d | 31 5d 3b 09 2f 2a 20 64 |st[lnum-|1];./* d|
|000044c0| 65 6c 65 74 65 20 74 68 | 69 73 20 65 6e 74 72 79 |elete th|is entry|
|000044d0| 20 2a 2f 0a 09 09 09 6c | 6e 75 6d 2d 2d 3b 0a 09 | */....l|num--;..|
|000044e0| 09 09 69 66 20 28 61 72 | 63 74 65 6d 70 32 5b 30 |..if (ar|ctemp2[0|
|000044f0| 5d 20 3d 3d 20 27 3e 27 | 29 20 7b 0a 09 09 09 09 |] == '>'|) {.....|
|00004500| 61 70 70 65 6e 64 20 3d | 20 31 3b 0a 09 09 09 09 |append =| 1;.....|
|00004510| 61 72 63 74 65 6d 70 32 | 2b 2b 3b 0a 09 09 09 7d |arctemp2|++;....}|
|00004520| 0a 09 09 09 65 6c 73 65 | 09 61 70 70 65 6e 64 20 |....else|.append |
|00004530| 3d 20 30 3b 0a 09 09 7d | 0a 23 65 6e 64 69 66 0a |= 0;...}|.#endif.|
|00004540| 09 09 65 6c 73 65 0a 09 | 09 09 6e 2b 2b 3b 0a 09 |..else..|..n++;..|
|00004550| 7d 0a 23 69 66 09 47 45 | 4d 44 4f 53 0a 09 69 66 |}.#if.GE|MDOS..if|
|00004560| 20 28 61 72 63 74 65 6d | 70 32 29 0a 09 09 66 72 | (arctem|p2)...fr|
|00004570| 65 6f 70 65 6e 28 61 72 | 63 74 65 6d 70 32 2c 61 |eopen(ar|ctemp2,a|
|00004580| 70 70 65 6e 64 20 3f 20 | 22 61 22 20 3a 20 22 77 |ppend ? |"a" : "w|
|00004590| 22 2c 73 74 64 6f 75 74 | 29 3b 0a 23 65 6e 64 69 |",stdout|);.#endi|
|000045a0| 66 0a 0a 09 2f 2a 20 61 | 63 74 20 6f 6e 20 77 68 |f.../* a|ct on wh|
|000045b0| 61 74 65 76 65 72 20 61 | 63 74 69 6f 6e 20 63 6f |atever a|ction co|
|000045c0| 6d 6d 61 6e 64 20 77 61 | 73 20 67 69 76 65 6e 20 |mmand wa|s given |
|000045d0| 2a 2f 0a 0a 09 73 77 69 | 74 63 68 20 28 6f 70 74 |*/...swi|tch (opt|
|000045e0| 29 20 7b 09 09 2f 2a 20 | 61 63 74 69 6f 6e 20 64 |) {../* |action d|
|000045f0| 65 70 65 6e 64 73 20 6f | 6e 20 63 6f 6d 6d 61 6e |epends o|n comman|
|00004600| 61 72 63 2f 61 72 63 2e | 68 00 00 00 00 00 00 00 |arc/arc.|h.......|
|00004610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004660| 00 00 00 00 20 20 20 34 | 34 34 20 00 20 20 20 33 |.... 4|44 . 3|
|00004670| 33 34 20 00 20 20 20 31 | 34 34 20 00 20 20 20 20 |34 . 1|44 . |
|00004680| 20 20 20 35 37 33 32 20 | 20 34 34 33 34 32 34 34 | 5732 | 4434244|
|00004690| 35 33 31 20 20 20 35 36 | 32 33 00 20 00 00 00 00 |531 56|23. ....|
|000046a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000046b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000046c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000046d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000046e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000046f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004700| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004720| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004780| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004800| 2f 2a 0a 20 2a 20 24 48 | 65 61 64 65 72 3a 20 61 |/*. * $H|eader: a|
|00004810| 72 63 2e 68 2c 76 20 31 | 2e 31 32 20 38 39 2f 30 |rc.h,v 1|.12 89/0|
|00004820| 35 2f 31 37 20 30 36 3a | 32 33 3a 30 32 20 68 79 |5/17 06:|23:02 hy|
|00004830| 63 20 45 78 70 20 24 0a | 20 2a 2f 0a 0a 23 75 6e |c Exp $.| */..#un|
|00004840| 64 65 66 09 44 4f 53 09 | 2f 2a 20 4a 75 73 74 20 |def.DOS.|/* Just |
|00004850| 69 6e 20 63 61 73 65 2e | 2e 2e 20 2a 2f 0a 23 75 |in case.|.. */.#u|
|00004860| 6e 64 65 66 09 55 4e 49 | 58 0a 0a 2f 2a 0a 20 2a |ndef.UNI|X../*. *|
|00004870| 20 41 73 73 75 6d 70 74 | 69 6f 6e 73 3a 0a 20 2a | Assumpt|ions:. *|
|00004880| 20 63 68 61 72 20 3d 20 | 38 20 62 69 74 73 0a 20 | char = |8 bits. |
|00004890| 2a 20 73 68 6f 72 74 20 | 3d 20 31 36 20 62 69 74 |* short |= 16 bit|
|000048a0| 73 0a 20 2a 20 6c 6f 6e | 67 20 3d 20 33 32 20 62 |s. * lon|g = 32 b|
|000048b0| 69 74 73 0a 20 2a 20 69 | 6e 74 20 3e 3d 20 31 36 |its. * i|nt >= 16|
|000048c0| 20 62 69 74 73 0a 20 2a | 2f 0a 0a 23 69 66 09 4d | bits. *|/..#if.M|
|000048d0| 53 44 4f 53 20 7c 7c 20 | 47 45 4d 44 4f 53 0a 23 |SDOS || |GEMDOS.#|
|000048e0| 64 65 66 69 6e 65 09 44 | 4f 53 09 31 0a 23 64 65 |define.D|OS.1.#de|
|000048f0| 66 69 6e 65 09 43 55 54 | 4f 46 46 09 27 5c 5c 27 |fine.CUT|OFF.'\\'|
|00004900| 0a 23 64 65 66 69 6e 65 | 09 4f 50 45 4e 5f 52 09 |.#define|.OPEN_R.|
|00004910| 22 72 62 22 0a 23 64 65 | 66 69 6e 65 09 4f 50 45 |"rb".#de|fine.OPE|
|00004920| 4e 5f 57 09 22 77 62 22 | 0a 23 65 6e 64 69 66 0a |N_W."wb"|.#endif.|
|00004930| 0a 23 69 66 09 21 4d 53 | 44 4f 53 0a 23 64 65 66 |.#if.!MS|DOS.#def|
|00004940| 69 6e 65 09 65 6e 76 66 | 69 6e 64 09 67 65 74 65 |ine.envf|ind.gete|
|00004950| 6e 76 0a 23 64 65 66 69 | 6e 65 09 73 65 74 6d 65 |nv.#defi|ne.setme|
|00004960| 6d 28 61 2c 20 62 2c 20 | 63 29 09 6d 65 6d 73 65 |m(a, b, |c).memse|
|00004970| 74 28 61 2c 20 63 2c 20 | 62 29 0a 23 65 6e 64 69 |t(a, c, |b).#endi|
|00004980| 66 0a 0a 23 69 66 09 42 | 53 44 20 7c 7c 20 53 59 |f..#if.B|SD || SY|
|00004990| 53 56 0a 23 64 65 66 69 | 6e 65 09 55 4e 49 58 09 |SV.#defi|ne.UNIX.|
|000049a0| 31 0a 23 64 65 66 69 6e | 65 09 43 55 54 4f 46 46 |1.#defin|e.CUTOFF|
|000049b0| 09 27 2f 27 0a 23 64 65 | 66 69 6e 65 09 4f 50 45 |.'/'.#de|fine.OPE|
|000049c0| 4e 5f 52 09 22 72 22 0a | 23 64 65 66 69 6e 65 09 |N_R."r".|#define.|
|000049d0| 4f 50 45 4e 5f 57 09 22 | 77 22 0a 23 69 6e 63 6c |OPEN_W."|w".#incl|
|000049e0| 75 64 65 20 3c 63 74 79 | 70 65 2e 68 3e 0a 23 65 |ude <cty|pe.h>.#e|
|000049f0| 6e 64 69 66 0a 0a 23 69 | 66 09 5f 4d 54 53 0a 23 |ndif..#i|f._MTS.#|
|00004a00| 64 65 66 69 6e 65 09 43 | 55 54 4f 46 46 09 73 65 |define.C|UTOFF.se|
|00004a10| 70 63 68 72 5b 30 5d 0a | 23 64 65 66 69 6e 65 09 |pchr[0].|#define.|
|00004a20| 4f 50 45 4e 5f 52 09 22 | 72 62 22 0a 23 64 65 66 |OPEN_R."|rb".#def|
|00004a30| 69 6e 65 09 4f 50 45 4e | 5f 57 09 22 77 62 22 0a |ine.OPEN|_W."wb".|
|00004a40| 23 65 6e 64 69 66 0a 0a | 23 64 65 66 69 6e 65 09 |#endif..|#define.|
|00004a50| 4d 59 42 55 46 09 32 30 | 2a 31 30 32 34 09 09 2f |MYBUF.20|*1024../|
|00004a60| 2a 20 55 73 65 64 20 66 | 6f 72 20 66 6f 70 65 6e |* Used f|or fopen|
|00004a70| 73 20 61 6e 64 20 66 69 | 6c 65 63 6f 70 79 28 29 |s and fi|lecopy()|
|00004a80| 20 2a 2f 0a 0a 23 69 66 | 09 5f 4d 54 53 20 7c 7c | */..#if|._MTS |||
|00004a90| 20 53 59 53 56 0a 23 64 | 65 66 69 6e 65 09 72 69 | SYSV.#d|efine.ri|
|00004aa0| 6e 64 65 78 09 73 74 72 | 72 63 68 72 0a 23 64 65 |ndex.str|rchr.#de|
|00004ab0| 66 69 6e 65 09 69 6e 64 | 65 78 09 73 74 72 63 68 |fine.ind|ex.strch|
|00004ac0| 72 0a 23 65 6e 64 69 66 | 0a 0a 2f 2a 20 20 41 52 |r.#endif|../* AR|
|00004ad0| 43 20 2d 20 41 72 63 68 | 69 76 65 20 75 74 69 6c |C - Arch|ive util|
|00004ae0| 69 74 79 20 2d 20 41 52 | 43 20 48 65 61 64 65 72 |ity - AR|C Header|
|00004af0| 0a 20 20 0a 20 20 20 20 | 56 65 72 73 69 6f 6e 20 |. . |Version |
|00004b00| 32 2e 31 37 2c 20 63 72 | 65 61 74 65 64 20 6f 6e |2.17, cr|eated on|
|00004b10| 20 30 34 2f 32 32 2f 38 | 37 20 61 74 20 31 33 3a | 04/22/8|7 at 13:|
|00004b20| 30 39 3a 34 33 0a 20 20 | 0a 28 43 29 20 43 4f 50 |09:43. |.(C) COP|
|00004b30| 59 52 49 47 48 54 20 31 | 39 38 35 2c 38 36 20 62 |YRIGHT 1|985,86 b|
|00004b40| 79 20 53 79 73 74 65 6d | 20 45 6e 68 61 6e 63 65 |y System| Enhance|
|00004b50| 6d 65 6e 74 20 41 73 73 | 6f 63 69 61 74 65 73 3b |ment Ass|ociates;|
|00004b60| 20 41 4c 4c 20 52 49 47 | 48 54 53 20 52 45 53 45 | ALL RIG|HTS RESE|
|00004b70| 52 56 45 44 0a 20 20 0a | 20 20 20 20 42 79 3a 09 |RVED. .| By:.|
|00004b80| 20 54 68 6f 6d 20 48 65 | 6e 64 65 72 73 6f 6e 0a | Thom He|nderson.|
|00004b90| 20 20 0a 20 20 20 20 44 | 65 73 63 72 69 70 74 69 | . D|escripti|
|00004ba0| 6f 6e 3a 20 0a 09 20 54 | 68 69 73 20 69 73 20 74 |on: .. T|his is t|
|00004bb0| 68 65 20 68 65 61 64 65 | 72 20 66 69 6c 65 20 66 |he heade|r file f|
|00004bc0| 6f 72 20 74 68 65 20 41 | 52 43 20 61 72 63 68 69 |or the A|RC archi|
|00004bd0| 76 65 20 75 74 69 6c 69 | 74 79 2e 20 20 49 74 20 |ve utili|ty. It |
|00004be0| 64 65 66 69 6e 65 73 0a | 09 20 67 6c 6f 62 61 6c |defines.|. global|
|00004bf0| 20 70 61 72 61 6d 65 74 | 65 72 73 20 61 6e 64 20 | paramet|ers and |
|00004c00| 74 68 65 20 72 65 66 65 | 72 65 6e 63 65 73 20 74 |the refe|rences t|
|00004c10| 6f 20 74 68 65 20 65 78 | 74 65 72 6e 61 6c 20 64 |o the ex|ternal d|
|00004c20| 61 74 61 2e 0a 20 20 0a | 20 20 0a 20 20 20 20 4c |ata.. .| . L|
|00004c30| 61 6e 67 75 61 67 65 3a | 0a 09 20 43 6f 6d 70 75 |anguage:|.. Compu|
|00004c40| 74 65 72 20 49 6e 6e 6f | 76 61 74 69 6f 6e 73 20 |ter Inno|vations |
|00004c50| 4f 70 74 69 6d 69 7a 69 | 6e 67 20 43 38 36 0a 2a |Optimizi|ng C86.*|
|00004c60| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 41 52 43 4d 41 |/..#defi|ne ARCMA|
|00004c70| 52 4b 20 32 36 09 09 2f | 2a 20 73 70 65 63 69 61 |RK 26../|* specia|
|00004c80| 6c 20 61 72 63 68 69 76 | 65 20 6d 61 72 6b 65 72 |l archiv|e marker|
|00004c90| 20 20 20 20 20 20 20 20 | 2a 2f 0a 23 64 65 66 69 | |*/.#defi|
|00004ca0| 6e 65 20 41 52 43 56 45 | 52 20 39 09 09 2f 2a 20 |ne ARCVE|R 9../* |
|00004cb0| 61 72 63 68 69 76 65 20 | 68 65 61 64 65 72 20 76 |archive |header v|
|00004cc0| 65 72 73 69 6f 6e 20 63 | 6f 64 65 20 20 20 2a 2f |ersion c|ode */|
|00004cd0| 0a 23 64 65 66 69 6e 65 | 20 53 54 52 4c 45 4e 20 |.#define| STRLEN |
|00004ce0| 31 30 30 09 09 2f 2a 20 | 73 79 73 74 65 6d 20 73 |100../* |system s|
|00004cf0| 74 61 6e 64 61 72 64 20 | 73 74 72 69 6e 67 20 6c |tandard |string l|
|00004d00| 65 6e 67 74 68 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ength */|.#define|
|00004d10| 20 46 4e 4c 45 4e 20 31 | 33 09 09 2f 2a 20 66 69 | FNLEN 1|3../* fi|
|00004d20| 6c 65 20 6e 61 6d 65 20 | 6c 65 6e 67 74 68 20 20 |le name |length |
|00004d30| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 23 | | */.#|
|00004d40| 64 65 66 69 6e 65 20 4d | 41 58 41 52 47 20 34 30 |define M|AXARG 40|
|00004d50| 30 09 09 2f 2a 20 6d 61 | 78 69 6d 75 6d 20 6e 75 |0../* ma|ximum nu|
|00004d60| 6d 62 65 72 20 6f 66 20 | 61 72 67 75 6d 65 6e 74 |mber of |argument|
|00004d70| 73 20 20 20 2a 2f 0a 0a | 23 69 66 6e 64 65 66 20 |s */..|#ifndef |
|00004d80| 44 4f 4e 54 5f 44 45 46 | 49 4e 45 09 09 2f 2a 20 |DONT_DEF|INE../* |
|00004d90| 44 65 66 69 6e 65 64 20 | 62 79 20 61 72 63 64 61 |Defined |by arcda|
|00004da0| 74 61 2e 63 20 2a 2f 0a | 23 69 6e 63 6c 75 64 65 |ta.c */.|#include|
|00004db0| 20 22 61 72 63 73 2e 68 | 22 0a 0a 65 78 74 65 72 | "arcs.h|"..exter|
|00004dc0| 6e 20 69 6e 74 20 20 20 | 20 20 20 6b 65 65 70 62 |n int | keepb|
|00004dd0| 61 6b 3b 09 2f 2a 20 74 | 72 75 65 20 69 66 20 73 |ak;./* t|rue if s|
|00004de0| 61 76 69 6e 67 20 74 68 | 65 20 6f 6c 64 20 61 72 |aving th|e old ar|
|00004df0| 63 68 69 76 65 20 2a 2f | 0a 23 69 66 09 21 44 4f |chive */|.#if.!DO|
|00004e00| 53 0a 65 78 74 65 72 6e | 20 69 6e 74 20 20 20 20 |S.extern| int |
|00004e10| 20 20 69 6d 61 67 65 3b | 09 09 2f 2a 20 74 72 75 | image;|../* tru|
|00004e20| 65 20 74 6f 20 73 75 70 | 70 72 65 73 73 20 43 52 |e to sup|press CR|
|00004e30| 4c 46 2f 4c 46 20 78 2d | 6c 61 74 65 20 2a 2f 0a |LF/LF x-|late */.|
|00004e40| 23 65 6e 64 69 66 0a 23 | 69 66 09 5f 4d 54 53 0a |#endif.#|if._MTS.|
|00004e50| 65 78 74 65 72 6e 20 63 | 68 61 72 20 20 20 20 20 |extern c|har |
|00004e60| 73 65 70 63 68 72 5b 32 | 5d 3b 09 2f 2a 20 53 68 |sepchr[2|];./* Sh|
|00004e70| 61 72 65 64 20 66 69 6c | 65 20 73 65 70 61 72 61 |ared fil|e separa|
|00004e80| 74 6f 72 2c 20 64 65 66 | 61 75 6c 74 20 3d 20 27 |tor, def|ault = '|
|00004e90| 3a 27 20 2a 2f 0a 65 78 | 74 65 72 6e 20 63 68 61 |:' */.ex|tern cha|
|00004ea0| 72 20 20 20 20 20 74 6d | 70 63 68 72 5b 32 5d 3b |r tm|pchr[2];|
|00004eb0| 09 2f 2a 20 54 65 6d 70 | 6f 72 61 72 79 20 66 69 |./* Temp|orary fi|
|00004ec0| 6c 65 20 70 72 65 66 69 | 78 2c 20 64 65 66 61 75 |le prefi|x, defau|
|00004ed0| 6c 74 20 3d 20 27 2d 27 | 20 2a 2f 0a 23 65 6e 64 |lt = '-'| */.#end|
|00004ee0| 69 66 0a 23 69 66 09 47 | 45 4d 44 4f 53 0a 65 78 |if.#if.G|EMDOS.ex|
|00004ef0| 74 65 72 6e 20 69 6e 74 | 20 20 20 20 20 20 68 6f |tern int| ho|
|00004f00| 6c 64 3b 09 09 2f 2a 20 | 68 6f 6c 64 20 73 63 72 |ld;../* |hold scr|
|00004f10| 65 65 6e 20 62 65 66 6f | 72 65 20 65 78 69 74 69 |een befo|re exiti|
|00004f20| 6e 67 20 2a 2f 0a 23 65 | 6e 64 69 66 0a 65 78 74 |ng */.#e|ndif.ext|
|00004f30| 65 72 6e 20 69 6e 74 20 | 20 20 20 20 20 77 61 72 |ern int | war|
|00004f40| 6e 3b 09 09 2f 2a 20 74 | 72 75 65 20 74 6f 20 70 |n;../* t|rue to p|
|00004f50| 72 69 6e 74 20 77 61 72 | 6e 69 6e 67 73 20 2a 2f |rint war|nings */|
|00004f60| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 20 20 20 20 |.extern |int |
|00004f70| 20 6e 6f 74 65 3b 09 09 | 2f 2a 20 74 72 75 65 20 | note;..|/* true |
|00004f80| 74 6f 20 70 72 69 6e 74 | 20 63 6f 6d 6d 65 6e 74 |to print| comment|
|00004f90| 73 20 2a 2f 0a 65 78 74 | 65 72 6e 20 69 6e 74 20 |s */.ext|ern int |
|00004fa0| 20 20 20 20 20 62 6f 73 | 65 3b 09 09 2f 2a 20 74 | bos|e;../* t|
|00004fb0| 72 75 65 20 74 6f 20 62 | 65 20 76 65 72 62 6f 73 |rue to b|e verbos|
|00004fc0| 65 20 2a 2f 0a 65 78 74 | 65 72 6e 20 69 6e 74 20 |e */.ext|ern int |
|00004fd0| 20 20 20 20 20 6e 6f 63 | 6f 6d 70 3b 09 09 2f 2a | noc|omp;../*|
|00004fe0| 20 74 72 75 65 20 74 6f | 20 73 75 70 70 72 65 73 | true to| suppres|
|00004ff0| 73 20 63 6f 6d 70 72 65 | 73 73 69 6f 6e 20 2a 2f |s compre|ssion */|
|00005000| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 20 20 20 20 |.extern |int |
|00005010| 20 6f 76 65 72 6c 61 79 | 3b 09 2f 2a 20 74 72 75 | overlay|;./* tru|
|00005020| 65 20 74 6f 20 6f 76 65 | 72 6c 61 79 20 6f 6e 20 |e to ove|rlay on |
|00005030| 65 78 74 72 61 63 74 20 | 2a 2f 0a 65 78 74 65 72 |extract |*/.exter|
|00005040| 6e 20 69 6e 74 20 20 20 | 20 20 20 6b 6c 75 64 67 |n int | kludg|
|00005050| 65 3b 09 09 2f 2a 20 6b | 6c 75 64 67 65 20 66 6c |e;../* k|ludge fl|
|00005060| 61 67 20 2a 2f 0a 65 78 | 74 65 72 6e 20 63 68 61 |ag */.ex|tern cha|
|00005070| 72 20 20 20 20 2a 61 72 | 63 74 65 6d 70 3b 09 2f |r *ar|ctemp;./|
|00005080| 2a 20 61 72 63 20 74 65 | 6d 70 20 66 69 6c 65 20 |* arc te|mp file |
|00005090| 70 72 65 66 69 78 20 2a | 2f 0a 65 78 74 65 72 6e |prefix *|/.extern|
|000050a0| 20 63 68 61 72 20 20 20 | 20 2a 70 61 73 73 77 6f | char | *passwo|
|000050b0| 72 64 3b 09 2f 2a 20 65 | 6e 63 72 79 70 74 69 6f |rd;./* e|ncryptio|
|000050c0| 6e 20 70 61 73 73 77 6f | 72 64 20 70 6f 69 6e 74 |n passwo|rd point|
|000050d0| 65 72 20 2a 2f 0a 65 78 | 74 65 72 6e 20 69 6e 74 |er */.ex|tern int|
|000050e0| 20 20 20 20 20 20 6e 65 | 72 72 73 3b 09 09 2f 2a | ne|rrs;../*|
|000050f0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 65 72 72 6f 72 | number |of error|
|00005100| 73 20 65 6e 63 6f 75 6e | 74 65 72 65 64 20 2a 2f |s encoun|tered */|
|00005110| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 20 20 20 20 |.extern |int |
|00005120| 20 63 68 61 6e 67 69 6e | 67 3b 09 2f 2a 20 74 72 | changin|g;./* tr|
|00005130| 75 65 20 69 66 20 61 72 | 63 68 69 76 65 20 62 65 |ue if ar|chive be|
|00005140| 69 6e 67 20 6d 6f 64 69 | 66 69 65 64 20 2a 2f 0a |ing modi|fied */.|
|00005150| 0a 65 78 74 65 72 6e 20 | 63 68 61 72 20 20 20 20 |.extern |char |
|00005160| 20 68 64 72 76 65 72 3b | 09 09 2f 2a 20 68 65 61 | hdrver;|../* hea|
|00005170| 64 65 72 20 76 65 72 73 | 69 6f 6e 20 2a 2f 0a 0a |der vers|ion */..|
|00005180| 65 78 74 65 72 6e 20 46 | 49 4c 45 20 20 20 20 2a |extern F|ILE *|
|00005190| 61 72 63 3b 09 09 2f 2a | 20 74 68 65 20 6f 6c 64 |arc;../*| the old|
|000051a0| 20 61 72 63 68 69 76 65 | 20 2a 2f 0a 65 78 74 65 | archive| */.exte|
|000051b0| 72 6e 20 46 49 4c 45 20 | 20 20 20 2a 6e 65 77 3b |rn FILE | *new;|
|000051c0| 09 09 2f 2a 20 74 68 65 | 20 6e 65 77 20 61 72 63 |../* the| new arc|
|000051d0| 68 69 76 65 20 2a 2f 0a | 65 78 74 65 72 6e 20 63 |hive */.|extern c|
|000051e0| 68 61 72 20 20 20 20 20 | 61 72 63 6e 61 6d 65 5b |har |arcname[|
|000051f0| 53 54 52 4c 45 4e 5d 3b | 2f 2a 20 73 74 6f 72 61 |STRLEN];|/* stora|
|00005200| 67 65 20 66 6f 72 20 61 | 72 63 68 69 76 65 20 6e |ge for a|rchive n|
|00005210| 61 6d 65 20 2a 2f 0a 65 | 78 74 65 72 6e 20 63 68 |ame */.e|xtern ch|
|00005220| 61 72 20 20 20 20 20 62 | 61 6b 6e 61 6d 65 5b 53 |ar b|akname[S|
|00005230| 54 52 4c 45 4e 5d 3b 2f | 2a 20 73 74 6f 72 61 67 |TRLEN];/|* storag|
|00005240| 65 20 66 6f 72 20 62 61 | 63 6b 75 70 20 63 6f 70 |e for ba|ckup cop|
|00005250| 79 20 6e 61 6d 65 20 2a | 2f 0a 65 78 74 65 72 6e |y name *|/.extern|
|00005260| 20 63 68 61 72 20 20 20 | 20 20 6e 65 77 6e 61 6d | char | newnam|
|00005270| 65 5b 53 54 52 4c 45 4e | 5d 3b 2f 2a 20 73 74 6f |e[STRLEN|];/* sto|
|00005280| 72 61 67 65 20 66 6f 72 | 20 6e 65 77 20 61 72 63 |rage for| new arc|
|00005290| 68 69 76 65 20 6e 61 6d | 65 20 2a 2f 0a 65 78 74 |hive nam|e */.ext|
|000052a0| 65 72 6e 20 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |ern unsi|gned sho|
|000052b0| 72 74 20 61 72 63 64 61 | 74 65 3b 09 2f 2a 20 61 |rt arcda|te;./* a|
|000052c0| 72 63 68 69 76 65 20 64 | 61 74 65 20 73 74 61 6d |rchive d|ate stam|
|000052d0| 70 20 2a 2f 0a 65 78 74 | 65 72 6e 20 75 6e 73 69 |p */.ext|ern unsi|
|000052e0| 67 6e 65 64 20 73 68 6f | 72 74 20 61 72 63 74 69 |gned sho|rt arcti|
|000052f0| 6d 65 3b 09 2f 2a 20 61 | 72 63 68 69 76 65 20 74 |me;./* a|rchive t|
|00005300| 69 6d 65 20 73 74 61 6d | 70 20 2a 2f 0a 65 78 74 |ime stam|p */.ext|
|00005310| 65 72 6e 20 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |ern unsi|gned sho|
|00005320| 72 74 20 6f 6c 64 64 61 | 74 65 3b 09 2f 2a 20 6f |rt oldda|te;./* o|
|00005330| 6c 64 20 61 72 63 68 69 | 76 65 20 64 61 74 65 20 |ld archi|ve date |
|00005340| 73 74 61 6d 70 20 2a 2f | 0a 65 78 74 65 72 6e 20 |stamp */|.extern |
|00005350| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 20 6f |unsigned| short o|
|00005360| 6c 64 74 69 6d 65 3b 09 | 2f 2a 20 6f 6c 64 20 61 |ldtime;.|/* old a|
|00005370| 72 63 68 69 76 65 20 74 | 69 6d 65 20 73 74 61 6d |rchive t|ime stam|
|00005380| 70 20 2a 2f 0a 65 78 74 | 65 72 6e 20 69 6e 74 20 |p */.ext|ern int |
|00005390| 20 20 20 20 20 64 6f 73 | 71 75 61 73 68 3b 09 2f | dos|quash;./|
|000053a0| 2a 20 73 71 75 61 73 68 | 20 69 6e 73 74 65 61 64 |* squash| instead|
|000053b0| 20 6f 66 20 63 72 75 6e | 63 68 20 2a 2f 0a 23 65 | of crun|ch */.#e|
|000053c0| 6e 64 69 66 09 09 09 09 | 2f 2a 20 44 4f 4e 54 5f |ndif....|/* DONT_|
|000053d0| 44 45 46 49 4e 45 20 2a | 2f 0a 2e 20 20 49 74 20 |DEFINE *|/.. It |
|000053e0| 64 65 66 69 6e 65 73 0a | 09 20 67 6c 6f 62 61 6c |defines.|. global|
|000053f0| 20 70 61 72 61 6d 65 74 | 65 72 73 20 61 6e 64 20 | paramet|ers and |
|00005400| 61 72 63 2f 61 72 63 61 | 64 64 2e 63 00 00 00 00 |arc/arca|dd.c....|
|00005410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005460| 00 00 00 00 20 20 20 34 | 34 34 20 00 20 20 20 33 |.... 4|44 . 3|
|00005470| 33 34 20 00 20 20 20 31 | 34 34 20 00 20 20 20 20 |34 . 1|44 . |
|00005480| 20 20 32 33 37 37 37 20 | 20 34 34 33 33 35 32 37 | 23777 | 4433527|
|00005490| 37 33 31 20 20 20 36 33 | 32 35 00 20 00 00 00 00 |731 63|25. ....|
|000054a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005600| 2f 2a 0a 20 2a 20 24 48 | 65 61 64 65 72 3a 20 61 |/*. * $H|eader: a|
|00005610| 72 63 61 64 64 2e 63 2c | 76 20 31 2e 31 31 20 38 |rcadd.c,|v 1.11 8|
|00005620| 39 2f 30 35 2f 31 35 20 | 30 37 3a 30 34 3a 32 34 |9/05/15 |07:04:24|
|00005630| 20 68 79 63 20 45 78 70 | 20 24 0a 20 2a 2f 0a 0a | hyc Exp| $. */..|
|00005640| 2f 2a 0a 20 2a 20 41 52 | 43 20 2d 20 41 72 63 68 |/*. * AR|C - Arch|
|00005650| 69 76 65 20 75 74 69 6c | 69 74 79 20 2d 20 41 52 |ive util|ity - AR|
|00005660| 43 41 44 44 0a 20 2a 20 | 0a 20 2a 20 56 65 72 73 |CADD. * |. * Vers|
|00005670| 69 6f 6e 20 33 2e 34 30 | 2c 20 63 72 65 61 74 65 |ion 3.40|, create|
|00005680| 64 20 6f 6e 20 30 36 2f | 31 38 2f 38 36 20 61 74 |d on 06/|18/86 at|
|00005690| 20 31 33 3a 31 30 3a 31 | 38 0a 20 2a 20 0a 20 2a | 13:10:1|8. * . *|
|000056a0| 20 28 43 29 20 43 4f 50 | 59 52 49 47 48 54 20 31 | (C) COP|YRIGHT 1|
|000056b0| 39 38 35 2c 38 36 20 62 | 79 20 53 79 73 74 65 6d |985,86 b|y System|
|000056c0| 20 45 6e 68 61 6e 63 65 | 6d 65 6e 74 20 41 73 73 | Enhance|ment Ass|
|000056d0| 6f 63 69 61 74 65 73 3b | 20 41 4c 4c 20 52 49 47 |ociates;| ALL RIG|
|000056e0| 48 54 53 20 52 45 53 45 | 52 56 45 44 0a 20 2a 20 |HTS RESE|RVED. * |
|000056f0| 0a 20 2a 20 42 79 3a 20 | 20 54 68 6f 6d 20 48 65 |. * By: | Thom He|
|00005700| 6e 64 65 72 73 6f 6e 0a | 20 2a 20 0a 20 2a 20 44 |nderson.| * . * D|
|00005710| 65 73 63 72 69 70 74 69 | 6f 6e 3a 20 54 68 69 73 |escripti|on: This|
|00005720| 20 66 69 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 74 | file co|ntains t|
|00005730| 68 65 20 72 6f 75 74 69 | 6e 65 73 20 75 73 65 64 |he routi|nes used|
|00005740| 20 74 6f 20 61 64 64 20 | 66 69 6c 65 73 20 74 6f | to add |files to|
|00005750| 20 61 6e 20 61 72 63 68 | 69 76 65 2e 0a 20 2a 20 | an arch|ive.. * |
|00005760| 0a 20 2a 20 4c 61 6e 67 | 75 61 67 65 3a 20 43 6f |. * Lang|uage: Co|
|00005770| 6d 70 75 74 65 72 20 49 | 6e 6e 6f 76 61 74 69 6f |mputer I|nnovatio|
|00005780| 6e 73 20 4f 70 74 69 6d | 69 7a 69 6e 67 20 43 38 |ns Optim|izing C8|
|00005790| 36 0a 20 2a 2f 0a 23 69 | 6e 63 6c 75 64 65 20 3c |6. */.#i|nclude <|
|000057a0| 73 74 64 69 6f 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |stdio.h>|.#includ|
|000057b0| 65 20 22 61 72 63 2e 68 | 22 0a 23 69 66 09 5f 4d |e "arc.h|".#if._M|
|000057c0| 54 53 0a 23 69 6e 63 6c | 75 64 65 20 3c 6d 74 73 |TS.#incl|ude <mts|
|000057d0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 63 74 |.h>.#inc|lude <ct|
|000057e0| 79 70 65 2e 68 3e 0a 23 | 65 6e 64 69 66 0a 0a 73 |ype.h>.#|endif..s|
|000057f0| 74 61 74 69 63 09 69 6e | 74 09 61 64 64 66 69 6c |tatic.in|t.addfil|
|00005800| 65 28 29 3b 0a 63 68 61 | 72 09 2a 73 74 72 63 70 |e();.cha|r.*strcp|
|00005810| 79 28 29 3b 0a 69 6e 74 | 09 73 74 72 63 6d 70 28 |y();.int|.strcmp(|
|00005820| 29 2c 20 73 74 72 6c 65 | 6e 28 29 2c 20 66 72 65 |), strle|n(), fre|
|00005830| 65 28 29 2c 20 72 65 61 | 64 68 64 72 28 29 2c 20 |e(), rea|dhdr(), |
|00005840| 75 6e 6c 69 6e 6b 28 29 | 3b 0a 23 69 66 09 55 4e |unlink()|;.#if.UN|
|00005850| 49 58 0a 69 6e 74 09 69 | 7a 61 64 69 72 28 29 3b |IX.int.i|zadir();|
|00005860| 0a 23 65 6e 64 69 66 0a | 76 6f 69 64 09 77 72 69 |.#endif.|void.wri|
|00005870| 74 65 68 64 72 28 29 2c | 20 66 69 6c 65 63 6f 70 |tehdr(),| filecop|
|00005880| 79 28 29 2c 20 67 65 74 | 73 74 61 6d 70 28 29 3b |y(), get|stamp();|
|00005890| 0a 76 6f 69 64 09 70 61 | 63 6b 28 29 2c 20 63 6c |.void.pa|ck(), cl|
|000058a0| 6f 73 65 61 72 63 28 29 | 2c 20 6f 70 65 6e 61 72 |osearc()|, openar|
|000058b0| 63 28 29 2c 20 61 62 6f | 72 74 28 29 3b 0a 0a 76 |c(), abo|rt();..v|
|000058c0| 6f 69 64 0a 61 64 64 61 | 72 63 28 6e 75 6d 2c 20 |oid.adda|rc(num, |
|000058d0| 61 72 67 2c 20 6d 6f 76 | 65 2c 20 75 70 64 61 74 |arg, mov|e, updat|
|000058e0| 65 2c 20 66 72 65 73 68 | 29 09 09 2f 2a 20 61 64 |e, fresh|)../* ad|
|000058f0| 64 20 66 69 6c 65 73 20 | 74 6f 20 61 72 63 68 69 |d files |to archi|
|00005900| 76 65 20 2a 2f 0a 09 69 | 6e 74 20 20 20 20 20 20 |ve */..i|nt |
|00005910| 20 20 20 20 20 20 20 6e | 75 6d 3b 09 2f 2a 20 6e | n|um;./* n|
|00005920| 75 6d 62 65 72 20 6f 66 | 20 61 72 67 75 6d 65 6e |umber of| argumen|
|00005930| 74 73 20 2a 2f 0a 09 63 | 68 61 72 20 20 20 20 20 |ts */..c|har |
|00005940| 20 20 20 20 20 20 2a 61 | 72 67 5b 5d 3b 09 2f 2a | *a|rg[];./*|
|00005950| 20 70 6f 69 6e 74 65 72 | 73 20 74 6f 20 61 72 67 | pointer|s to arg|
|00005960| 75 6d 65 6e 74 73 20 2a | 2f 0a 69 6e 74 20 20 20 |uments *|/.int |
|00005970| 20 20 20 20 20 20 20 20 | 20 20 6d 6f 76 65 3b 09 | | move;.|
|00005980| 09 2f 2a 20 74 72 75 65 | 20 69 66 20 6d 6f 76 69 |./* true| if movi|
|00005990| 6e 67 20 66 69 6c 65 20 | 2a 2f 0a 69 6e 74 20 20 |ng file |*/.int |
|000059a0| 20 20 20 20 20 20 20 20 | 20 20 20 75 70 64 61 74 | | updat|
|000059b0| 65 3b 09 09 2f 2a 20 74 | 72 75 65 20 69 66 20 75 |e;../* t|rue if u|
|000059c0| 70 64 61 74 69 6e 67 20 | 2a 2f 0a 69 6e 74 20 20 |pdating |*/.int |
|000059d0| 20 20 20 20 20 20 20 20 | 20 20 20 66 72 65 73 68 | | fresh|
|000059e0| 3b 09 09 2f 2a 20 74 72 | 75 65 20 69 66 20 66 72 |;../* tr|ue if fr|
|000059f0| 65 73 68 65 6e 69 6e 67 | 20 2a 2f 0a 7b 0a 09 63 |eshening| */.{..c|
|00005a00| 68 61 72 20 20 20 20 20 | 20 20 20 20 20 20 2a 64 |har | *d|
|00005a10| 2c 20 2a 64 69 72 28 29 | 3b 09 2f 2a 20 64 69 72 |, *dir()|;./* dir|
|00005a20| 65 63 74 6f 72 79 20 6a | 75 6e 6b 20 2a 2f 0a 09 |ectory j|unk */..|
|00005a30| 63 68 61 72 20 20 20 20 | 20 20 20 20 20 20 20 20 |char | |
|00005a40| 62 75 66 5b 53 54 52 4c | 45 4e 5d 3b 09 2f 2a 20 |buf[STRL|EN];./* |
|00005a50| 70 61 74 68 6e 61 6d 65 | 20 62 75 66 66 65 72 20 |pathname| buffer |
|00005a60| 2a 2f 0a 09 63 68 61 72 | 20 20 20 20 20 20 20 20 |*/..char| |
|00005a70| 20 20 2a 2a 70 61 74 68 | 3b 09 2f 2a 20 70 6f 69 | **path|;./* poi|
|00005a80| 6e 74 65 72 20 74 6f 20 | 70 6f 69 6e 74 65 72 73 |nter to |pointers|
|00005a90| 20 74 6f 20 70 61 74 68 | 73 20 2a 2f 0a 09 63 68 | to path|s */..ch|
|00005aa0| 61 72 20 20 20 20 20 20 | 20 20 20 20 2a 2a 6e 61 |ar | **na|
|00005ab0| 6d 65 3b 09 2f 2a 20 70 | 6f 69 6e 74 65 72 20 74 |me;./* p|ointer t|
|00005ac0| 6f 20 70 6f 69 6e 74 65 | 72 73 20 74 6f 20 6e 61 |o pointe|rs to na|
|00005ad0| 6d 65 73 20 2a 2f 0a 09 | 69 6e 74 20 20 20 20 20 |mes */..|int |
|00005ae0| 20 20 20 20 20 20 20 20 | 6e 66 69 6c 65 73 20 3d | |nfiles =|
|00005af0| 20 30 3b 09 2f 2a 20 6e | 75 6d 62 65 72 20 6f 66 | 0;./* n|umber of|
|00005b00| 20 66 69 6c 65 73 20 69 | 6e 20 6c 69 73 74 73 20 | files i|n lists |
|00005b10| 2a 2f 0a 09 69 6e 74 20 | 20 20 20 20 20 20 20 20 |*/..int | |
|00005b20| 20 20 20 20 6e 6f 74 65 | 6d 70 3b 09 2f 2a 20 74 | note|mp;./* t|
|00005b30| 72 75 65 20 75 6e 74 69 | 6c 20 61 20 74 65 6d 70 |rue unti|l a temp|
|00005b40| 6c 61 74 65 20 77 6f 72 | 6b 73 20 2a 2f 0a 09 69 |late wor|ks */..i|
|00005b50| 6e 74 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6e |nt | n|
|00005b60| 6f 77 6f 72 6b 20 3d 20 | 31 3b 09 2f 2a 20 74 72 |owork = |1;./* tr|
|00005b70| 75 65 20 75 6e 74 69 6c | 20 66 69 6c 65 73 20 61 |ue until| files a|
|00005b80| 72 65 20 61 64 64 65 64 | 20 2a 2f 0a 09 63 68 61 |re added| */..cha|
|00005b90| 72 20 20 20 20 20 20 20 | 20 20 20 20 2a 69 2c 20 |r | *i, |
|00005ba0| 2a 72 69 6e 64 65 78 28 | 29 3b 09 2f 2a 20 73 74 |*rindex(|);./* st|
|00005bb0| 72 69 6e 67 20 69 6e 64 | 65 78 69 6e 67 20 6a 75 |ring ind|exing ju|
|00005bc0| 6e 6b 20 2a 2f 0a 09 63 | 68 61 72 20 20 20 20 20 |nk */..c|har |
|00005bd0| 20 20 20 20 20 20 2a 6d | 61 6c 6c 6f 63 28 29 2c | *m|alloc(),|
|00005be0| 20 2a 72 65 61 6c 6c 6f | 63 28 29 3b 09 2f 2a 20 | *reallo|c();./* |
|00005bf0| 6d 65 6d 6f 72 79 20 61 | 6c 6c 6f 63 61 74 6f 72 |memory a|llocator|
|00005c00| 73 20 2a 2f 0a 09 69 6e | 74 20 20 20 20 20 20 20 |s */..in|t |
|00005c10| 20 20 20 20 20 20 6e 3b | 09 2f 2a 20 69 6e 64 65 | n;|./* inde|
|00005c20| 78 20 2a 2f 0a 23 69 66 | 09 4d 53 44 4f 53 0a 09 |x */.#if|.MSDOS..|
|00005c30| 75 6e 73 69 67 6e 65 64 | 20 69 6e 74 09 63 6f 72 |unsigned| int.cor|
|00005c40| 65 6c 65 66 74 28 29 3b | 09 2f 2a 20 72 65 6d 61 |eleft();|./* rema|
|00005c50| 69 6e 69 6e 67 20 6d 65 | 6d 6f 72 79 20 72 65 70 |ining me|mory rep|
|00005c60| 6f 72 74 65 72 20 2a 2f | 0a 23 65 6e 64 69 66 0a |orter */|.#endif.|
|00005c70| 09 69 6e 74 09 09 61 64 | 64 62 75 6e 63 68 28 29 |.int..ad|dbunch()|
|00005c80| 3b 0a 0a 09 69 66 20 28 | 6e 75 6d 20 3c 20 31 29 |;...if (|num < 1)|
|00005c90| 20 7b 09 09 2f 2a 20 69 | 66 20 6e 6f 20 66 69 6c | {../* i|f no fil|
|00005ca0| 65 73 20 6e 61 6d 65 64 | 20 2a 2f 0a 09 09 6e 75 |es named| */...nu|
|00005cb0| 6d 20 3d 20 31 3b 09 2f | 2a 20 74 68 65 6e 20 66 |m = 1;./|* then f|
|00005cc0| 61 6b 65 20 6f 6e 65 20 | 2a 2f 0a 23 69 66 09 44 |ake one |*/.#if.D|
|00005cd0| 4f 53 0a 09 09 61 72 67 | 5b 30 5d 20 3d 20 22 2a |OS...arg|[0] = "*|
|00005ce0| 2e 2a 22 3b 09 2f 2a 20 | 61 64 64 20 65 76 65 72 |.*";./* |add ever|
|00005cf0| 79 74 68 69 6e 67 20 2a | 2f 0a 23 65 6e 64 69 66 |ything *|/.#endif|
|00005d00| 0a 23 69 66 09 55 4e 49 | 58 0a 09 09 61 72 67 5b |.#if.UNI|X...arg[|
|00005d10| 30 5d 20 3d 20 22 2a 22 | 3b 0a 23 65 6e 64 69 66 |0] = "*"|;.#endif|
|00005d20| 0a 23 69 66 09 5f 4d 54 | 53 0a 09 09 61 72 67 5b |.#if._MT|S...arg[|
|00005d30| 30 5d 20 3d 20 22 3f 22 | 3b 0a 23 65 6e 64 69 66 |0] = "?"|;.#endif|
|00005d40| 0a 09 7d 0a 09 70 61 74 | 68 20 3d 20 28 63 68 61 |..}..pat|h = (cha|
|00005d50| 72 20 2a 2a 29 20 6d 61 | 6c 6c 6f 63 28 73 69 7a |r **) ma|lloc(siz|
|00005d60| 65 6f 66 28 63 68 61 72 | 20 2a 2a 29 29 3b 0a 09 |eof(char| **));..|
|00005d70| 6e 61 6d 65 20 3d 20 28 | 63 68 61 72 20 2a 2a 29 |name = (|char **)|
|00005d80| 20 6d 61 6c 6c 6f 63 28 | 73 69 7a 65 6f 66 28 63 | malloc(|sizeof(c|
|00005d90| 68 61 72 20 2a 2a 29 29 | 3b 0a 0a 0a 09 66 6f 72 |har **))|;....for|
|00005da0| 20 28 6e 20 3d 20 30 3b | 20 6e 20 3c 20 6e 75 6d | (n = 0;| n < num|
|00005db0| 3b 20 6e 2b 2b 29 20 7b | 09 2f 2a 20 66 6f 72 20 |; n++) {|./* for |
|00005dc0| 65 61 63 68 20 74 65 6d | 70 6c 61 74 65 20 73 75 |each tem|plate su|
|00005dd0| 70 70 6c 69 65 64 20 2a | 2f 0a 09 09 73 74 72 63 |pplied *|/...strc|
|00005de0| 70 79 28 62 75 66 2c 20 | 61 72 67 5b 6e 5d 29 3b |py(buf, |arg[n]);|
|00005df0| 09 2f 2a 20 67 65 74 20 | 72 65 61 64 79 20 74 6f |./* get |ready to|
|00005e00| 20 66 69 78 20 70 61 74 | 68 20 2a 2f 0a 23 69 66 | fix pat|h */.#if|
|00005e10| 09 21 5f 4d 54 53 0a 09 | 09 69 66 20 28 21 28 69 |.!_MTS..|.if (!(i|
|00005e20| 20 3d 20 72 69 6e 64 65 | 78 28 62 75 66 2c 20 27 | = rinde|x(buf, '|
|00005e30| 5c 5c 27 29 29 29 0a 09 | 09 09 69 66 20 28 21 28 |\\')))..|..if (!(|
|00005e40| 69 20 3d 20 72 69 6e 64 | 65 78 28 62 75 66 2c 20 |i = rind|ex(buf, |
|00005e50| 27 2f 27 29 29 29 0a 09 | 09 09 09 69 66 20 28 21 |'/')))..|...if (!|
|00005e60| 28 69 20 3d 20 72 69 6e | 64 65 78 28 62 75 66 2c |(i = rin|dex(buf,|
|00005e70| 20 27 3a 27 29 29 29 0a | 09 09 09 09 09 69 20 3d | ':'))).|.....i =|
|00005e80| 20 62 75 66 20 2d 20 31 | 3b 0a 23 65 6c 73 65 0a | buf - 1|;.#else.|
|00005e90| 09 09 69 66 20 28 21 28 | 69 20 3d 20 72 69 6e 64 |..if (!(|i = rind|
|00005ea0| 65 78 28 62 75 66 2c 20 | 73 65 70 63 68 72 5b 30 |ex(buf, |sepchr[0|
|00005eb0| 5d 29 29 29 0a 09 09 09 | 69 66 20 28 62 75 66 5b |])))....|if (buf[|
|00005ec0| 30 5d 20 21 3d 20 74 6d | 70 63 68 72 5b 30 5d 29 |0] != tm|pchr[0])|
|00005ed0| 0a 09 09 09 09 69 20 3d | 20 62 75 66 20 2d 20 31 |.....i =| buf - 1|
|00005ee0| 3b 0a 09 09 09 65 6c 73 | 65 0a 09 09 09 09 69 20 |;....els|e.....i |
|00005ef0| 3d 20 62 75 66 3b 0a 23 | 65 6e 64 69 66 0a 09 09 |= buf;.#|endif...|
|00005f00| 69 2b 2b 3b 09 09 2f 2a | 20 70 6f 69 6e 74 65 72 |i++;../*| pointer|
|00005f10| 20 74 6f 20 77 68 65 72 | 65 20 6e 61 6d 65 20 67 | to wher|e name g|
|00005f20| 6f 65 73 20 2a 2f 0a 0a | 09 09 6e 6f 74 65 6d 70 |oes */..|..notemp|
|00005f30| 20 3d 20 31 3b 09 2f 2a | 20 72 65 73 65 74 20 66 | = 1;./*| reset f|
|00005f40| 69 6c 65 73 20 66 6c 61 | 67 20 2a 2f 0a 09 09 66 |iles fla|g */...f|
|00005f50| 6f 72 20 28 64 20 3d 20 | 64 69 72 28 61 72 67 5b |or (d = |dir(arg[|
|00005f60| 6e 5d 29 3b 20 64 3b 20 | 64 20 3d 20 64 69 72 28 |n]); d; |d = dir(|
|00005f70| 4e 55 4c 4c 29 29 20 7b | 0a 09 09 09 6e 6f 74 65 |NULL)) {|....note|
|00005f80| 6d 70 20 3d 20 30 3b 09 | 2f 2a 20 74 65 6d 70 6c |mp = 0;.|/* templ|
|00005f90| 61 74 65 20 69 73 20 67 | 69 76 69 6e 67 20 72 65 |ate is g|iving re|
|00005fa0| 73 75 6c 74 73 20 2a 2f | 0a 09 09 09 6e 66 69 6c |sults */|....nfil|
|00005fb0| 65 73 2b 2b 3b 09 2f 2a | 20 61 64 64 20 65 61 63 |es++;./*| add eac|
|00005fc0| 68 20 6d 61 74 63 68 69 | 6e 67 20 66 69 6c 65 20 |h matchi|ng file |
|00005fd0| 2a 2f 0a 09 09 09 70 61 | 74 68 20 3d 20 28 63 68 |*/....pa|th = (ch|
|00005fe0| 61 72 20 2a 2a 29 20 72 | 65 61 6c 6c 6f 63 28 70 |ar **) r|ealloc(p|
|00005ff0| 61 74 68 2c 20 6e 66 69 | 6c 65 73 20 2a 20 73 69 |ath, nfi|les * si|
|00006000| 7a 65 6f 66 28 63 68 61 | 72 20 2a 2a 29 29 3b 0a |zeof(cha|r **));.|
|00006010| 09 09 09 6e 61 6d 65 20 | 3d 20 28 63 68 61 72 20 |...name |= (char |
|00006020| 2a 2a 29 20 72 65 61 6c | 6c 6f 63 28 6e 61 6d 65 |**) real|loc(name|
|00006030| 2c 20 6e 66 69 6c 65 73 | 20 2a 20 73 69 7a 65 6f |, nfiles| * sizeo|
|00006040| 66 28 63 68 61 72 20 2a | 2a 29 29 3b 0a 09 09 09 |f(char *|*));....|
|00006050| 73 74 72 63 70 79 28 69 | 2c 20 64 29 3b 09 2f 2a |strcpy(i|, d);./*|
|00006060| 20 70 75 74 20 6e 61 6d | 65 20 69 6e 20 70 61 74 | put nam|e in pat|
|00006070| 68 20 2a 2f 0a 09 09 09 | 70 61 74 68 5b 6e 66 69 |h */....|path[nfi|
|00006080| 6c 65 73 20 2d 20 31 5d | 20 3d 20 6d 61 6c 6c 6f |les - 1]| = mallo|
|00006090| 63 28 73 74 72 6c 65 6e | 28 62 75 66 29 20 2b 20 |c(strlen|(buf) + |
|000060a0| 31 29 3b 0a 09 09 09 73 | 74 72 63 70 79 28 70 61 |1);....s|trcpy(pa|
|000060b0| 74 68 5b 6e 66 69 6c 65 | 73 20 2d 20 31 5d 2c 20 |th[nfile|s - 1], |
|000060c0| 62 75 66 29 3b 0a 09 09 | 09 6e 61 6d 65 5b 6e 66 |buf);...|.name[nf|
|000060d0| 69 6c 65 73 20 2d 20 31 | 5d 20 3d 20 64 3b 09 2f |iles - 1|] = d;./|
|000060e0| 2a 20 73 61 76 65 20 6e | 61 6d 65 20 2a 2f 0a 23 |* save n|ame */.#|
|000060f0| 69 66 09 4d 53 44 4f 53 | 0a 09 09 09 69 66 20 28 |if.MSDOS|....if (|
|00006100| 63 6f 72 65 6c 65 66 74 | 28 29 20 3c 20 35 31 32 |coreleft|() < 512|
|00006110| 30 29 20 7b 0a 09 09 09 | 09 6e 66 69 6c 65 73 20 |0) {....|.nfiles |
|00006120| 3d 20 61 64 64 62 75 6e | 63 68 28 6e 66 69 6c 65 |= addbun|ch(nfile|
|00006130| 73 2c 20 70 61 74 68 2c | 20 6e 61 6d 65 2c 20 6d |s, path,| name, m|
|00006140| 6f 76 65 2c 20 75 70 64 | 61 74 65 2c 20 66 72 65 |ove, upd|ate, fre|
|00006150| 73 68 29 3b 0a 09 09 09 | 09 6e 6f 77 6f 72 6b 20 |sh);....|.nowork |
|00006160| 3d 20 6e 6f 77 6f 72 6b | 20 26 26 20 21 6e 66 69 |= nowork| && !nfi|
|00006170| 6c 65 73 3b 0a 09 09 09 | 09 77 68 69 6c 65 20 28 |les;....|.while (|
|00006180| 6e 66 69 6c 65 73 29 20 | 7b 0a 09 09 09 09 09 66 |nfiles) |{......f|
|00006190| 72 65 65 28 70 61 74 68 | 5b 2d 2d 6e 66 69 6c 65 |ree(path|[--nfile|
|000061a0| 73 5d 29 3b 0a 09 09 09 | 09 09 66 72 65 65 28 6e |s]);....|..free(n|
|000061b0| 61 6d 65 5b 6e 66 69 6c | 65 73 5d 29 3b 0a 09 09 |ame[nfil|es]);...|
|000061c0| 09 09 7d 0a 09 09 09 09 | 66 72 65 65 28 70 61 74 |..}.....|free(pat|
|000061d0| 68 29 3b 0a 09 09 09 09 | 66 72 65 65 28 6e 61 6d |h);.....|free(nam|
|000061e0| 65 29 3b 0a 09 09 09 09 | 70 61 74 68 20 3d 20 6e |e);.....|path = n|
|000061f0| 61 6d 65 20 3d 20 4e 55 | 4c 4c 3b 0a 09 09 09 7d |ame = NU|LL;....}|
|00006200| 0a 23 65 6e 64 69 66 0a | 09 09 7d 0a 09 09 69 66 |.#endif.|..}...if|
|00006210| 20 28 6e 6f 74 65 6d 70 | 20 26 26 20 77 61 72 6e | (notemp| && warn|
|00006220| 29 0a 09 09 09 70 72 69 | 6e 74 66 28 22 4e 6f 20 |)....pri|ntf("No |
|00006230| 66 69 6c 65 73 20 6d 61 | 74 63 68 3a 20 25 73 5c |files ma|tch: %s\|
|00006240| 6e 22 2c 20 61 72 67 5b | 6e 5d 29 3b 0a 09 7d 0a |n", arg[|n]);..}.|
|00006250| 0a 09 69 66 20 28 6e 66 | 69 6c 65 73 29 20 7b 0a |..if (nf|iles) {.|
|00006260| 09 09 6e 66 69 6c 65 73 | 20 3d 20 61 64 64 62 75 |..nfiles| = addbu|
|00006270| 6e 63 68 28 6e 66 69 6c | 65 73 2c 20 70 61 74 68 |nch(nfil|es, path|
|00006280| 2c 20 6e 61 6d 65 2c 20 | 6d 6f 76 65 2c 20 75 70 |, name, |move, up|
|00006290| 64 61 74 65 2c 20 66 72 | 65 73 68 29 3b 0a 09 09 |date, fr|esh);...|
|000062a0| 6e 6f 77 6f 72 6b 20 3d | 20 6e 6f 77 6f 72 6b 20 |nowork =| nowork |
|000062b0| 26 26 20 21 6e 66 69 6c | 65 73 3b 0a 09 09 77 68 |&& !nfil|es;...wh|
|000062c0| 69 6c 65 20 28 6e 66 69 | 6c 65 73 29 20 7b 0a 09 |ile (nfi|les) {..|
|000062d0| 09 09 66 72 65 65 28 70 | 61 74 68 5b 2d 2d 6e 66 |..free(p|ath[--nf|
|000062e0| 69 6c 65 73 5d 29 3b 0a | 09 09 09 66 72 65 65 28 |iles]);.|...free(|
|000062f0| 6e 61 6d 65 5b 6e 66 69 | 6c 65 73 5d 29 3b 0a 09 |name[nfi|les]);..|
|00006300| 09 7d 0a 09 09 66 72 65 | 65 28 70 61 74 68 29 3b |.}...fre|e(path);|
|00006310| 0a 09 09 66 72 65 65 28 | 6e 61 6d 65 29 3b 0a 09 |...free(|name);..|
|00006320| 7d 0a 09 69 66 20 28 6e | 6f 77 6f 72 6b 20 26 26 |}..if (n|owork &&|
|00006330| 20 77 61 72 6e 29 0a 09 | 09 70 72 69 6e 74 66 28 | warn)..|.printf(|
|00006340| 22 4e 6f 20 66 69 6c 65 | 73 20 77 65 72 65 20 61 |"No file|s were a|
|00006350| 64 64 65 64 2e 5c 6e 22 | 29 3b 0a 7d 0a 0a 69 6e |dded.\n"|);.}..in|
|00006360| 74 0a 61 64 64 62 75 6e | 63 68 28 6e 66 69 6c 65 |t.addbun|ch(nfile|
|00006370| 73 2c 20 70 61 74 68 2c | 20 6e 61 6d 65 2c 20 6d |s, path,| name, m|
|00006380| 6f 76 65 2c 20 75 70 64 | 61 74 65 2c 20 66 72 65 |ove, upd|ate, fre|
|00006390| 73 68 29 09 2f 2a 20 61 | 64 64 20 61 20 62 75 6e |sh)./* a|dd a bun|
|000063a0| 63 68 20 6f 66 20 66 69 | 6c 65 73 20 2a 2f 0a 09 |ch of fi|les */..|
|000063b0| 69 6e 74 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |int | |
|000063c0| 6e 66 69 6c 65 73 3b 09 | 2f 2a 20 6e 75 6d 62 65 |nfiles;.|/* numbe|
|000063d0| 72 20 6f 66 20 66 69 6c | 65 73 20 74 6f 20 61 64 |r of fil|es to ad|
|000063e0| 64 20 2a 2f 0a 09 63 68 | 61 72 20 20 20 20 20 20 |d */..ch|ar |
|000063f0| 20 20 20 20 2a 2a 70 61 | 74 68 3b 09 2f 2a 20 70 | **pa|th;./* p|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.