home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 646a.lha / LhA_v1.32 / LhA.man.pp / LhA.man
Text File  |  1992-06-25  |  121KB  |  3,122 lines

  1.  
  2.  
  3.      
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                               LhA User's Guide
  16.  
  17.                      Evaluation Version 1.32 - May 1992
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                          ###      ###       ######
  31.                           ##       ##      ###  ##
  32.                           ##       ##      ##  ###
  33.                           ##       #####   #######
  34.                           ##       ## ###  ##   ##
  35.                           ###  ##  ##  ##  ##   ##
  36.                          #######  ###  ### ###  ###
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.                           Written by Stefan Boberg
  55.  
  56.                    Copyright (c) 1991,92 by Stefan Boberg
  57.                              All rights reserved
  58.  
  59.  
  60.      
  61.  
  62.  
  63.      V1.32e                   LhA User's Guide                   Page 1
  64.  
  65.  
  66.      1 - Introduction      
  67.  
  68.         LhA is  a  powerful  archiver for the Commodore-Amiga computer.
  69.      It  is  fully  compatible with LHA for MSDOS systems and LhArc for
  70.      MSDOS,  Amiga and *NIX.  It is also compatible with LhArcA, LZ and
  71.      LhArc   for   the   Amiga.   LhA   sports   fast  compression  and
  72.      decompression  and  has  several commands and options not found in
  73.      any other currently available archiver for the Amiga.  
  74.  
  75.      1.1 About the manual     
  76.  
  77.         The manual  is  divided  into three sections, the first section
  78.      (this  one)  contains  miscellaneous  information  related  to the
  79.      program.  The  second  section  is  a reference section, where all
  80.      commands  and  options  are explained thoroughly. The last section
  81.      contains the license, registration details and disclaimers.  
  82.  
  83.      1.2 System requirements      
  84.  
  85.         LhA will  run  on  any Amiga system with at least 512KB RAM and
  86.      one  diskdrive,  though 1MB RAM and two diskdrives or harddrive is
  87.      recommended  to  get  the  most  out  of LhA.  LhA will run on any
  88.      KickStart  from  version  1.2  and up.  If LhA is used on a system
  89.      with  the  new  KickStart  2.x  it  will adapt to this and utilize
  90.      features  new to this release.  Special care has been taken in the
  91.      program  design to make the program execute as fast as possible on
  92.      68020,   030   and   040-processors   without   sacrificing  68000
  93.      compatibility.  
  94.  
  95.         Under KickStart  1.3,  LhA requires `arp.library' to be able to
  96.      use other wildcard characters than `*' and `?'.  
  97.  
  98.      1.4 Terminology       
  99.  
  100.      ARCHIVE  -  An archive is a file containing one or more files in a
  101.      compressed  or  non-compressed  state and related information like
  102.      file names, last modification date/time, filenotes etc.  
  103.  
  104.      COMPRESSION  -  The process of encoding redundant information into
  105.      data  requiring less storage space.  There are a multitude of ways
  106.      you  can  do  this  in.  LhA uses a modified version of Lempel-Ziv
  107.      compression  with  block-adaptive  Huffman coding and a dictionary
  108.      size of 4096 or 8192 characters.  
  109.  
  110.      COMPRESSION  RATIO - The compression ratio figures reported by LhA
  111.      are  calculated  as  follows:   ratio  =  (1  - (CompressedSize) /
  112.      (OriginalSize))  * 100.  I.e how many percent of the file that was
  113.      GAINED.   Other  archivers may use other methods.  LHA and ARJ for
  114.      MS-DOS,   for   example,   calculates   the   ratio  as:  ratio  =
  115.      (CompressedSize)  / (OriginalSize), i.e.  how large the compressed
  116.      file   is   compared   to   the   original  file.   (MSDOSratio  =
  117.      1-(ADOSratio/100)).   The higher the LhA compression ratio is, the
  118.  
  119.  
  120.      
  121.  
  122.  
  123.      V1.32e                   LhA User's Guide                   Page 2
  124.  
  125.  
  126.      better  the  compression.  Most Amiga archivers use the same ratio
  127.      calculation method as I use.  
  128.  
  129.      CRC   -  CRC  stands  for  `Cyclic  Redundancy  Check'.  It  is  a
  130.      relatively  sophisticated  method  of checking data integrity. The
  131.      version used in LhA is a 16-bit CRC.  
  132.  
  133.      EXTRACTION  or DECOMPRESSION - The process of recreating the exact
  134.      information   that   was  previously  compressed  (file  contents,
  135.      modification   date,   filenotes,   protection   flags,  directory
  136.      structure etc.) 
  137.  
  138.      SELF-EXTRACTION  MODULE  (SFX-Module) - This is an archive that is
  139.      an executable file capable of extracting self-contained files.  
  140.  
  141.  
  142.      1.5 LhA - what is it?   
  143.  
  144.         LhA is  a  file  archiving  program  written especially for the
  145.      Commodore  Amiga  computer.  The  primary  goal  is to provide the
  146.      Amiga   community   with  a  fast,  efficient  and  reliable  file
  147.      archiver.  LhA creates and processes archive files with the '.LZH'
  148.      suffix,  and  is  fully compatible with both MSDOS LhArc and MSDOS
  149.      LhA,  as  well as the Amiga LhArc, LZ, and LhArcA. It handles both
  150.      the  old  LhArc-style  compression  (-lh1-,  -lh0-)  and  the  new
  151.      LHA-style (-lh5-, -lh4-).  
  152.  
  153.         LhA is  at the time of release by far the fastest LhArc archive
  154.      handler,  and  is more reliable and robust than both LZ and LhArc.
  155.      Neither  LZ  nor  LhArc  even comes close to the speed of LhA. The
  156.      compression  and  decompression  routines  are written entirely in
  157.      very  optimized 68000 assembly language. The routines were written
  158.      directly  from scratch in pure 68000 assembler, and did not, as in
  159.      the  other  Amiga  LZH/LHA-archivers,  start  as  compiled C-code.
  160.      Because   of  this,  the  routines  are  both  smaller  and,  more
  161.      importantly,  faster  than  they  would  have  been  if  I'd  used
  162.      compiler  output  as  source  material. You can get an idea of how
  163.      fast  LhA  is  compared to other archivers by looking at the speed
  164.      test  results  in `benchm.txt'. An even better way to see how fast
  165.      LhA is, is to try it yourself! 
  166.  
  167.      1.6 What is a file archiver anyway?  
  168.  
  169.         A file  archiver,  as  the  name  implies,  archives  files. It
  170.      collects  the  files  you  specify and stores them all in a single
  171.      archive-file.  Almost  all  file  archivers  (including  LhA) also
  172.      compress  the  files  before  putting them in the archive-file, so
  173.      that  they  occupy  less diskspace. When you wish to retrieve some
  174.      file  from  the  archive,  the  archiver decompresses the file and
  175.      restores  it's file attributes (Last modification date, time, file
  176.      comments,  protection  status  etc.).  A file archiver can usually
  177.      also  process archive files in different ways, for instance delete
  178.  
  179.  
  180.      
  181.  
  182.  
  183.      V1.32e                   LhA User's Guide                   Page 3
  184.  
  185.  
  186.      files,   freshen   files,  print  files  etc.  See  the  'ARCHIVER
  187.      COMMANDS'  section  of  this  manual  for  an  explanation  of the
  188.      different actions LhA is capable of performing.  
  189.  
  190.         The most  common  use  for  a file archiver is for transferring
  191.      several  related  files  via modem. It would be a very tedious and
  192.      cumbersome  task to transfer for instance every single source file
  193.      of  a  big  project  separately,  so why not put them all into one
  194.      single  file?  This is where the file archiver comes in, we simply
  195.      feed  the  archiver  with  all  the files we wish to transmit, and
  196.      then  just  transfer  the  single  archive-file  the archiver then
  197.      creates!  After  the  transfer  the  receiver  just has to use the
  198.      archiver  to extract all files from the archive-file onto his/hers
  199.      harddisk  (or  floppy).  Also, if the files were compressed by the
  200.      archiver,  it  would take less time to transfer the files as well,
  201.      which  means the phonecall will cost us less.  There are of course
  202.      other   uses   for   a   file  archiver,  you  can  use  it  as  a
  203.      harddisk-backup  program for example (if you have another harddisk
  204.      partition  to  put  the  archive file on..), and you can use it to
  205.      stuff  away files you don't use very often, and then when you want
  206.      to  use  them  you  simply extract the files from the archive, and
  207.      then   delete  them  when  you're  finished  (saves  disk  space).
  208.      Personally  I use LhA a lot to make automatic backups of my source
  209.      codes for various projects.  
  210.  
  211.         The file  compression  methods  vary  from  very  simple,  less
  212.      effective,  and  fast (Run-Length Encoding, RLE, for instance), to
  213.      complex,   effective   and   relatively   time-consuming   methods
  214.      (Lempel-Ziv-Huffman,  LZHUF,  as  used in LhA). The method used in
  215.      LZH-Archivers  (LZHUF) is to date probably the best algorithm used
  216.      in  an  archiver.  There  are other similar methods, like ZIP, but
  217.      they  are  not  as  good. Even though the files become smaller you
  218.      don't  lose any information when compressing them, the information
  219.      is   just   stored   in  a  different  way.  Basically,  redundant
  220.      (repeated)  information  is  replaced with a pointer to some other
  221.      part  of  the file, where this information is located. For example
  222.      in  this  text  the word 'archive' appears at several places, this
  223.      is  an example of redundant data. Simply put, if a file compressor
  224.      was  to  compress  this  file  it would let the first occurence of
  225.      'archive'  remain  unchanged,  and then it would replace all other
  226.      occurences  of  'archive'  with  a  pointer to the first one. When
  227.      decompressing  the  file,  the  archiver  uses  these  pointers to
  228.      restore the file to its original state.  
  229.  
  230.         Files which  have  already  been  compressed with one technique
  231.      can  generally  not  be  compressed any further by feeding them to
  232.      the  same  file  compressing  program  again  (If  that  had  been
  233.      possible,  modem transfers would have been a lot cheaper :), since
  234.      the  redundant  information  has  already  been  eliminated. It is
  235.      possible  though  to  compress files output by certain compressors
  236.      (RunLength-Encoders  for  example)  further  by  feeding them to a
  237.      program   that  uses  another  method  (like  LZHUF),  since  they
  238.  
  239.  
  240.      
  241.  
  242.  
  243.      V1.32e                   LhA User's Guide                   Page 4
  244.  
  245.  
  246.      eliminate different kinds of redundant information.  
  247.  
  248.      1.8 Compatibility and Amiga-specific features    
  249.  
  250.         LhA is  aimed  at full compatibility with LHA V2.13 for MS-DOS,
  251.      which  is  an improvement of the original LhArc V1.13. LhA is also
  252.      compatible  with  LhArc,  LhArcA  and  LZ  for the Commodore Amiga
  253.      computer.  However,  LhArc  and LhArcA cannot process any archives
  254.      with  headers  of  level  1 or 2, or files compressed with the new
  255.      LHA  compression  (-lh5-).  LZ  1.92  cannot process archives with
  256.      headers  of level 2. LHA V2.13 can process all archives created by
  257.      LhA.  
  258.  
  259.      1.9 About the author program history and future 
  260.  
  261.         I, Stefan  Boberg  -  the  author  of  the  programs in the LhA
  262.      family,  am  19  years old and currently studying `applied physics
  263.      and   electrical   engineering',  first  year,  at  the  Linköping
  264.      Institute  of  Technology. I started working on LhA mainly because
  265.      I  thought there was no real good archiver for the Amiga, the ones
  266.      that  existed  at  the  time  (June  1991) I began work on it were
  267.      either   too   slow,   had   loose   compression  ratios  or  were
  268.      bugged/crippled  so  that  they  could  not  do  what  I needed an
  269.      archiver  to do.  I use archivers mainly to back up sources for my
  270.      various  programming  projects  automatically, and I also use it a
  271.      lot  to  just  decompress archives from bulletin board systems and
  272.      computer  networks.  Another  reason  for  doing  it was to earn a
  273.      little  extra money, which I badly need, being a poor student with
  274.      a _small_ allowance..  :) 
  275.  
  276.         Anyway, I  intend  to  continue  developing LhA and the related
  277.      programs  as  long  as  I  can,  and  will release other, related,
  278.      programs  as  well, like an intuition-driven archiver called `LhI'
  279.      for  instance.  A  file  system to enable you to treat archives as
  280.      directories  is also in the pipeline and will be released sometime
  281.      in  1992.  Other  archive formats than LhA-style archives are also
  282.      planned  to  be  supported  in the filesystem and intuition driven
  283.      archiver  by  means  of  special  resident libraries and handlers.
  284.      When  these will be finished depends on how much time I can devote
  285.      to  developing  the  programs  (have  to  take  care of my studies
  286.      first).  
  287.  
  288.         But this  all  depends  on  YOU,  if  I get a good response and
  289.      people  register  I  will  continue  work on the program.  If not,
  290.      well,  then  I  might as well drop it for other projects, and just
  291.      make  minor  bugfixes  to  it instead of continuing development...
  292.      It's  your  choice!   If  you  would like to express your opinions
  293.      about  the  program,  or  have an idea for a feature you'd like to
  294.      see  in  the  next  version,  please drop me a line via EMail (see
  295.      section  3  for  addresses)  or  write  a  letter.  I would really
  296.      appreciate  it!   You MUST report any bugs you find (though I hope
  297.      you won't find too many), so I can fix it right away! 
  298.  
  299.  
  300.      
  301.  
  302.  
  303.      V1.32e                   LhA User's Guide                   Page 5
  304.  
  305.  
  306.      2 Reference guide      
  307.  
  308.         This section  of  the manual is intended to be used mostly as a
  309.      reference  guide  when  you  want  to  know  exactly how a certain
  310.      option  or  command  works.   If  you haven't used LhA before (but
  311.      used  other  archivers),  you  should  at least glance through the
  312.      descriptions  of  all  the  commands and options to get an idea of
  313.      what LhA can do.  
  314.  
  315.      2.1 Command line syntax     
  316.  
  317.         The command line syntax is as follows: 
  318.  
  319.      LhA  [-options]  <Command>  <Archive> [[HomeDir] FileSpec] [@file]
  320.      [destdir] 
  321.  
  322.         The items  in  square  brackets  are optional, and the items in
  323.      angle  brackets  are  mandatory.   Read the following sections for
  324.      exact information on the various items.  
  325.  
  326.      2.1.1 Specifying options      
  327.  
  328.         Unlike other  archivers,  LhA lets you specify options anywhere
  329.      on  the  command  line.   The  option specifier is `-' (dash), any
  330.      items  on  the  command  line  that begins with this character are
  331.      considered  to  be  option  switches.   If  you  want to specify a
  332.      filename  or  something  else  that  begins  with a `-' character,
  333.      enclose  the  name  in  double  quotes  or use double dashes.  For
  334.      example,  to  specify  a  filename  of  `-minus',  you could write
  335.      either `"-minus"' or `--minus'.  
  336.  
  337.         If you  write  `-o' the option `o' is enabled regardless of its
  338.      initial  state.   If  you  want to disable an option, append a `0'
  339.      (zero)  after the option, like in `-o0'.  If an option is followed
  340.      by any other numeric character than `0', the option is enabled.  
  341.  
  342.         You can  specify  multiple  options  without  having  a dash in
  343.      front  of  every  option  character.  An example would be `-ox0m',
  344.      which  would  enable  option  `o',  disable  option `x' and enable
  345.      option  `m'.   The  only  exception  is options taking multi-digit
  346.      numeric  arguments,  which  must  be  followed  by  whitespace and
  347.      another  dash  if  you want to specify more options (like in `-b32
  348.      -ox0m').  
  349.  
  350.      2.1.2 Specifying commands      
  351.  
  352.         The first  non-option  argument on the command line MUST be the
  353.      command  specifier.   The commands are case-insensitive (`l' means
  354.      the  same  thing  as  `L'),  and  only  the first character of the
  355.      argument  is  considered (except for the `vv' command), so you may
  356.      use  verbose  commands  such as `list' or `add' instead of `l' and
  357.      `a', respectively.  
  358.  
  359.  
  360.      
  361.  
  362.  
  363.      V1.32e                   LhA User's Guide                   Page 6
  364.  
  365.  
  366.      2.1.3 Specifying archives      
  367.  
  368.         The archive   specification   must  be  the  second  non-option
  369.      argument  (the  first  being  the command specification).  In most
  370.      cases  you  can  specify  a pattern here.  The exception being the
  371.      `m' (move files to archive) command.  
  372.  
  373.      2.1.4 Specifying action files     
  374.  
  375.         The action    files    are    specified   after   the   archive
  376.      specification.  The action file specifications may include pattern
  377.      matching  tokens.  Note  that, as all other file specifications in
  378.      LhA,   action   file  specifications  may  contain  wildcards  for
  379.      directory   names   as  well  -  `hd:*/*/dir/*.h'  is  valid,  for
  380.      example.  
  381.  
  382.                                     NOTE
  383.  
  384.           If  you  do  not  specify  any action files, LhA assumes
  385.           that  you  wish  to act upon all files in the archive or
  386.           in the current directory.  
  387.  
  388.  
  389.      2.1.5 Home directories      
  390.  
  391.         Home directories  is  a  new  concept  introduced  with LhA, it
  392.      provides  an  easy  way of specifying what parts of pathnames that
  393.      should  be  preserved  in  the  archive.  It  can  also be used to
  394.      simplify  specifications  of  mutiple files in the same directory.
  395.      It is perhaps best explained with a couple of examples: 
  396.  
  397.       EXAMPLE 
  398.  
  399.        Example 1: 
  400.  
  401.        lha   -x   a  newarc  dh0:files/  file1  dir1/file2  dir2/file3
  402.        dh0:files2/ *.c 
  403.  
  404.        This would add the following files to `newarc.lha': 
  405.  
  406.         Added file(s)         Stored as 
  407.         -----------------     -------------- 
  408.         dh0:files/file1       file1 
  409.         dh0:files/dir1/file2  dir1/file2 
  410.         dh0:files/dir2/file3  dir2/file3 
  411.         dh0:files2/*.c        *.c 
  412.  
  413.        Example 2: 
  414.  
  415.        lha -r a newarc hd:tmp/ *.c *.h hd:px/ *.s *.snd *.iff 
  416.  
  417.         This would  add  all  `.c' and `.h' files in `hd:tmp' and it's
  418.  
  419.  
  420.      
  421.  
  422.  
  423.      V1.32e                   LhA User's Guide                   Page 7
  424.  
  425.  
  426.        subdirectories,  storing  pathnames, but excluding the `hd:tmp'
  427.        part.   For  instance, the file `hd:tmp/src/foo/arargh.c' would
  428.        be  stored  in  the  archive  with the name `src/foo/arargh.c'.
  429.        Additionally,  all `.s', `.snd' and `.iff' files in `hd:px' and
  430.        its  subdirectories  will be added, excluding the `hd:px/' part
  431.        of the name.  
  432.  
  433.         Homedir specifications  must  end in `/' or `:', otherwise they
  434.      won't be recognized as such.  
  435.  
  436.         Homedir specifications  may contain wildcards and other pattern
  437.      matching tokens.  
  438.  
  439.                                     NOTE
  440.  
  441.           You  are not supposed to include the home directory name
  442.           in   the  action  file  specifications  after  the  home
  443.           directory    spec.    I.e.    you   should   not   enter
  444.           `devs:printers/         devs:printers/*HP*',         but
  445.           `devs:printers/ *HP*' is correct.  
  446.  
  447.           The  home  directory  remains active for the rest of the
  448.           command   line   or   until   the  next  home  directory
  449.           specification.  If you want to set the home directory to
  450.           the  current  directory  (as  it is from the beginning),
  451.           use   a   single   slash   (`/')  as  a  home  directory
  452.           specification.  This means you cannot use a single slash
  453.           to  specify  the  parent  directory, to do this you will
  454.           have  to  add  an  additional  slash  (`//' means parent
  455.           directory,  `///'  the  parent's parent directory and so
  456.           on).  
  457.  
  458.  
  459.      2.1.6 Recursive file collection     
  460.  
  461.         When collecting  files recursively (by using the -r option with
  462.      a   or  u  commands),  action  file  specs  are  treated  somewhat
  463.      differently.  Home  directories  work  the  same  way as usual. In
  464.      recursive  file  collection mode, the last node of the action file
  465.      specification  (i.e. the file name part) is used as a pattern that
  466.      is  compared  to  all  files  in  the  specified directory and its
  467.      subdirectories.   Some  examples to hopefully clarify the somewhat
  468.      fuzzy description: 
  469.  
  470.       EXAMPLE 
  471.  
  472.        Example 1: 
  473.  
  474.        lha -r a myarc * 
  475.  
  476.        This  will  add  all  files  in  the  current directory and its
  477.        subdirectories to `myarc.lha'.  
  478.  
  479.  
  480.      
  481.  
  482.  
  483.      V1.32e                   LhA User's Guide                   Page 8
  484.  
  485.  
  486.  
  487.        Example 2: 
  488.  
  489.        lha -r a myarc *.c *.cpp 
  490.  
  491.        Will  add  all  `.c'  and `.cpp' files in the current directory
  492.        and its subdirectories to `myarc.lha'.  
  493.  
  494.        Example 3: 
  495.  
  496.        lha -r a myarc ram:work/* hd:tmp/*.c 
  497.  
  498.        Will  add  all  files in `ram:work' and its subdirectories - as
  499.        well  as all `.c' files in `hd:tmp' and its subdirectories - to
  500.        `myarc.lha'.  The  full pathnames will be stored (excluding the
  501.        device specification of course).  
  502.  
  503.        Example 4: 
  504.  
  505.        lha -r a myarc ram:work/ * hd:tmp/ *.c 
  506.  
  507.        Will  do  exactly the same as example 3, but LhA will not store
  508.        the  `ram:work/'  and  `hd:tmp/'  parts of the filenames in the
  509.        archive. (Because of the home directory specifications).  
  510.  
  511.        Example 5: 
  512.  
  513.        lha -r a myarc ram:dir1 ram:makefile 
  514.  
  515.        Will  archive  all  files  in  the  directory  `dir1'  and  its
  516.        subdirectories, as well as the file `ram:makefile'.  
  517.  
  518.        Example 6: 
  519.  
  520.        lha -r a myarc ram:dir1 ram:(makefile) 
  521.  
  522.        Will  do  almost  the  same  as example 5, but will archive ALL
  523.        `makefile's  in  ram:  and  all it's subdirectories (because of
  524.        the parentheses - see note below).  
  525.  
  526.  
  527.                                     NOTE
  528.  
  529.           Explicitly  specified  directories (explicitly = without
  530.           pattern  matching)  will be treated as `dirname/*', i.e.
  531.           all  files  in  the  directory  and it's subdirs will be
  532.           archived.   Explicitly  specified  files  will  only  be
  533.           looked  for  in  the  current home directory, unless the
  534.           filename  is  enclosed in parentheses, in which case the
  535.           file  will  be  looked for recursively. I have chosen to
  536.           implement  it  this  way  because  LhA  can then be used
  537.           better   together   with  directory  utilities  such  as
  538.  
  539.  
  540.      
  541.  
  542.  
  543.      V1.32e                   LhA User's Guide                   Page 9
  544.  
  545.  
  546.           Browser or DirectoryOpus.  
  547.  
  548.  
  549.      2.1.7 Specifying destination directory     
  550.  
  551.         You can  optionally  specify  a  destination  directory for the
  552.      files  written  by  the  extract  commands  by writing the desired
  553.      directory  name  anywhere  after  the  archive name on the command
  554.      line.   If no destination directory is specified, LhA will use the
  555.      current  directory  as the destination.  The destination directory
  556.      specification  must  end  in  `:' or `/', just like home directory
  557.      specifications,  or LhA would not be able to distinguish directory
  558.      names from action file specs.  
  559.  
  560.       EXAMPLE 
  561.  
  562.        `lha  x corpus ram:' would extract the contents of `corpus.lzh'
  563.        to ram:.  
  564.  
  565.        `lha  x  project  *.c  dl:tmp/'  would  extract the contents of
  566.        `project.lzh' to the `dl:tmp' directory.  
  567.  
  568.        and so would `lha x project dl:tmp/ *.c'.  
  569.  
  570.                                     NOTE
  571.  
  572.           You  can specify a directory that does not already exist
  573.           as  the  destination,  LhA will automatically create the
  574.           directory for you (without asking first).  
  575.  
  576.  
  577.      2.1.8 `@'-files       
  578.  
  579.         `@'-files are  files that are treated as if their contents were
  580.      written  on  the command line.  They can be used to specify files,
  581.      options  commands  and  anything  else  can  be  specified  on the
  582.      command  line.   An example would be the command `lha -r e arc.lzh
  583.      *.[chas]  @filelist  ram:', which would extract all files matching
  584.      `*.[chas]'  or  the  files  listed in `filelist' to ram:. Carriage
  585.      returns and linefeeds in `@'-files are treated as whitespace.  
  586.  
  587.      2.1.9 LhA limitations      
  588.  
  589.         LhA has  been  written to be as flexible as possible, but there
  590.      are some limitations that you should be aware of as a user.  
  591.  
  592.      o  LhA  pathnames  are currently limited to 255 characters. If you
  593.        exceed this limit behaviour is undefined.  
  594.  
  595.      o  When  headers  of level 0 are used, filenotes may not be longer
  596.        than  230-{filename  length  (including path)} characters.  With
  597.        header  level  1  or  2  filenotes  may  be up to 255 characters
  598.  
  599.  
  600.      
  601.  
  602.  
  603.      V1.32e                   LhA User's Guide                  Page 10
  604.  
  605.  
  606.        (AmigaDOS   currently   only   supports   filenotes  of  max  80
  607.        characters  so  this  should  not  be  any  problem  except with
  608.        exceptionally long filenames and paths).  
  609.  
  610.      o  The  number  of  files  in an archive files are only limited by
  611.        available  disk  space.  The  size of an archive must not exceed
  612.        2.147.483.648 bytes (2 Gigabytes); LhA will get VERY confused.  
  613.  
  614.      o  The  number of arguments on the command line is only limited by
  615.        available RAM memory and the used shell.  
  616.  
  617.      o  The  allowed  number  of wildcard-matched files is only limited
  618.        by  available  RAM memory.  Any number of files may be extracted
  619.        or added to an archive in one go.  
  620.  
  621.      o  Level  2  headers  must  not be longer than 1024 characters, or
  622.        LhA will not be able to process them.  
  623.  
  624.      o  Currently  LhA only handles multivolume archives with a maximum
  625.        of  100  volumes.  If  you  create  archives with more than this
  626.        number of volumes, behaviour is undefined.  
  627.  
  628.  
  629.      2.2 Environment variables      
  630.  
  631.         Under KickStart   2.0   LhA  supports  both  local  and  global
  632.      environment  variables.  Local  variables  are not available under
  633.      the  1.3  shell.   Upon  startup  LhA  looks  for  the environment
  634.      variable  `LHAOPTS'  and  includes this as if it had been typed on
  635.      the  command  line  directly  after the `LhA' command name. If you
  636.      don't  want to use the settings from the environment variable, use
  637.      the `-I' switch.  
  638.  
  639.       EXAMPLE 
  640.  
  641.        If you set LHAOPTS to `-N -b64' with the following command: 
  642.  
  643.         1> setenv LHAOPTS -N -b64 
  644.  
  645.        LhA  would  not  display  any file-progress indicator and use a
  646.        64K  I/O buffer for all following invokations until the machine
  647.        is  reset  or  LHAOPTS  is  changed.  If  you  want to set some
  648.        default  options  that  should survive reset and power off, use
  649.        the  environment  variable  name `ENVARC:LHAOPTS' instead, like
  650.        in: 
  651.  
  652.         1> setenv ENVARC:LHAOPTS -b64 
  653.  
  654.        This  would cause the environment variable LHAOPTS to be set to
  655.        `-b64'  whenever  the  machine  is  rebooted  (unless  you have
  656.        removed those lines from your startup-sequence).  
  657.  
  658.  
  659.  
  660.      
  661.  
  662.  
  663.      V1.32e                   LhA User's Guide                  Page 11
  664.  
  665.  
  666.      2.3 Pattern matching      
  667.  
  668.         This section  describes  how  LhA  handles pattern matching and
  669.      file  collection.   For  a discussion on what commands will accept
  670.      file   patterns,   please  refer  to  section  2.1  (Command  line
  671.      syntax).  
  672.  
  673.         Pattern matching  in LhA is always case-insensitive.  (i.e.  it
  674.      doesn't  matter  if  you  write  names in upper- or lowercase, `a'
  675.      will match both `a' and `A'.  
  676.  
  677.      2.3.0 Exactly what is pattern matching anyway?  
  678.  
  679.         Pattern matching  is  a means of specifying several files in an
  680.      elegant  and  relatively  straightforward manner.  Instead of just
  681.      lining  up  all  the  file  names you would like to work on on the
  682.      command  line  (which  can be very tedious when a lot of files are
  683.      involved)  you  can  use  a  technique  called `pattern matching'.
  684.      With  this technique you - as the name implies - use the fact that
  685.      the  names  of  the  files you wish to work on often share certain
  686.      characteristics.   For  example,  the  names  of  files containing
  687.      C-source  almost  always  end in `.c', so if you would like to add
  688.      all  C-source  files  in  the  current  directory  you  could take
  689.      advantage  of  this  fact  by specifying a pattern to that matches
  690.      these  files  (in  this  case  such  a  pattern  would  be `*.c').
  691.      Exactly  how  these patterns are built up are explained in section
  692.      2.3.1  forward.  Also read the sections explaining `how to specify
  693.      action files' and `how to specify archive files'.  
  694.  
  695.      2.3.1 Accepted pattern tokens     
  696.  
  697.         LhA accepts  all valid KickStart 2.x and 1.x pattern tokens, it
  698.      also  accepts  all  ARP tokens (works more or less the same way as
  699.      KS2.x).  
  700.  
  701.         In the  explanations  that  follow, the term `expression' means
  702.      either  a  single  token  or character (such as `x' or `?'), or an
  703.      alternation  (such as `(ab|cd|ef)'), or a character class (such as
  704.      `[a-z,A-Z]').  
  705.  
  706.      2.3.1.1 Question mark (?)     
  707.  
  708.         The question  mark  matches  any  one  _single_  character. The
  709.      question mark is sometimes also referred to as the `wildchar'.  
  710.  
  711.       EXAMPLE 
  712.  
  713.        `d?' :  matches  all  two-letter  names  beginning  with  a `d'
  714.               character.  For example `dm' or 'd8'.  
  715.  
  716.        `ab?d' :  matches all four-letter names beginning with `ab' and
  717.               ending  in  `d'.   For example `abcd', `abad' and `ab_d'
  718.  
  719.  
  720.      
  721.  
  722.  
  723.      V1.32e                   LhA User's Guide                  Page 12
  724.  
  725.  
  726.               but not `abd' or `acid'.  
  727.  
  728.        `f??' :  matches  all three-letter names beginning in `f'.  For
  729.               example  `foo',  `fel',  `fan'  but  not `ab', `fuga' or
  730.               `fini' 
  731.  
  732.  
  733.      2.3.1.2 Star/Asterisk (*)      
  734.  
  735.  
  736.         The star   matches   any  sequence  of  any  length,  including
  737.      sequences  with  length  zero  (i.e.   the  null string).  The `*'
  738.      character is often called the `wildcard' character.  
  739.  
  740.       EXAMPLE 
  741.  
  742.        `a*' :  matches  all  names  starting  with an `a', for example
  743.               `abba', `anette'.  
  744.  
  745.        `a*z' :  matches `auugaz', `awacz' and `az' and any other names
  746.               starting with an `a' and ending in `z'.  
  747.  
  748.        `s*f*n' :  matches `stefan', `staffan', `steffen', `sfn' or any
  749.               other  name starting with an `s', followed by any number
  750.               (including  zero)  of  arbitrary characters, followed by
  751.               an `f', and ending in `n'.  
  752.  
  753.        `*.lzh' : matches all names ending in `.lzh' 
  754.  
  755.  
  756.      2.3.1.3 Hash mark (#)     
  757.  
  758.         The hash  mark  matches  a subsequent expression (pattern) 0 or
  759.      more  times.   The  simplest  example  of  this is `#?' which will
  760.      match any filename (equivalent to the `*' token).  
  761.  
  762.       EXAMPLE 
  763.  
  764.        `#a' :  matches  any name consisting of the `a' character only.
  765.               For example `aaaa' and `a'.  
  766.  
  767.        `b#ad' :  matches  any  name  beginning in `b', followed by any
  768.               number  (including  0)  of `a' characters, and ending in
  769.               `d'.  For example `bad', `bd' and `baaaad'.  
  770.  
  771.        `#(ha)#(hi)urgh' :  of  `ha':s followed by any number of `hi':s
  772.               followed   by  `urgh'.  For  example  `hahahahahihiurgh'
  773.               matches, and so does `haurgh' and `hahiurgh'.  
  774.  
  775.  
  776.      2.3.1.4 Square brackets ([])     
  777.  
  778.  
  779.  
  780.      
  781.  
  782.  
  783.      V1.32e                   LhA User's Guide                  Page 13
  784.  
  785.  
  786.         The square  brackets  enclose  a  set  of  characters to match.
  787.      They  are  a  bit like the parentheses but match single-characters
  788.      only.   You can either specify just the letters you would like the
  789.      expression  to  match,  as in `[abcx]' (this would match `a', `b',
  790.      `c'  and  `x'), or you can specify ranges, like `[a-c,x-z]' (which
  791.      would match `a', `b', `c' and `x', `y', `z').  
  792.  
  793.       EXAMPLE 
  794.  
  795.        `prg.[1-9]' :  matches  any  five-letter  name  beginning  with
  796.               `prg.',  followed  by  a  non-zero  digit.   For example
  797.               `prg.1', 'Prg.8'.  
  798.  
  799.        `Ver_[1-2].[0-9].[a-z]' :    matches   any   nine-letter   name
  800.               beginning  with `ver_' followed by either a `1' or a `2'
  801.               character,  followed by a dot (`.'), a digit and finally
  802.               a  character  between  `a' and `z' (i.e.  all letters in
  803.               the   english   alphabet).    For  example  `Ver_1.2.a',
  804.               `Ver_2.9.d'.  
  805.  
  806.        `#[a-z 0-9]'   matches   any  name  containing  any  number  of
  807.               alphanumeric  characters  (i.e.   either in the alphabet
  808.               or  numeric).   For  example `ados' or `PDP11'.  It does
  809.               not  match  `AXE.dat'  however,  since it contains a `.'
  810.               which is not in the specified character range.  
  811.  
  812.        `*.[chas]' :  matches  any  name  ending in `.c', `.h', `.a' or
  813.               `.s'.  
  814.  
  815.  
  816.      2.3.1.5 Parentheses and the vertical bar   
  817.  
  818.         Parentheses can  be  used to achieve several things.  The first
  819.      way  of  using them is just like in mathematics - to group several
  820.      individual  expressions into one single expression.  The other way
  821.      is  to provide a list of acceptable expressions separated with `|'
  822.      chars.   The  entire  parenthesized  expression  is treated as one
  823.      token  by other tokens (like `#' and `~').  These two are actually
  824.      the  same,  since  the  first is just a special case of the second
  825.      use.  This is easier to explain with a couple of examples: 
  826.  
  827.       EXAMPLE 
  828.  
  829.        `(abc|def|xyz)' :  will  match names `abc', `def' and `xyz' and
  830.               no other.  
  831.  
  832.        `*.(doc|prf|man)' :  will  match  all  names  ending in `.doc',
  833.               `.prf' or `.man'.  
  834.  
  835.        `~(pfile)' :  will  match  all  names except `pfile'. (NB: this
  836.               expression  is  NOT  the  same  thing  as  `~pfile', see
  837.               section 2.3.1.6 for details) 
  838.  
  839.  
  840.      
  841.  
  842.  
  843.      V1.32e                   LhA User's Guide                  Page 14
  844.  
  845.  
  846.        `(*.c|*.h|*.doc|ab*)' :  will  match  all files ending in `.c',
  847.               `.h' or `.doc' and all files beginning with `ab'.  
  848.  
  849.  
  850.         Typing an  action-file  spec of `(xxx|yyy|zzz)' is functionally
  851.      equivalent  to  writing  `xxx  yyy  zzz' (xxx, yyy, zzz can be any
  852.      valid patterns, including patterns with parentheses).  
  853.  
  854.         Parentheses can be nested.  
  855.  
  856.  
  857.      2.3.1.6 Tilde (~)      
  858.  
  859.         The tilde  negates  the  immediately  following expression.  It
  860.      negates  ONLY  the  immediately  following  token or paranthesized
  861.      expressiom,  not  the  entire  following expression as some people
  862.      think (see note about ARP<->KS2.0 below).  
  863.  
  864.       EXAMPLE 
  865.  
  866.        `~x?' :  matches any two-letter name except those starting with
  867.               `x'.   For  example  `ah',  `ko' or 'ba' but not 'x0' or
  868.               'xi'.  
  869.  
  870.        `~(x?)' :  matches  anything  except  two-letter names starting
  871.               with  `x'.   For  example  `xaa' or `ab' but not `xa' or
  872.               'x9'.  
  873.  
  874.        `~(#?)' :  matches  nothing  at  all.   (The  tilde negates the
  875.               `#?', which matches all names).  
  876.  
  877.        `~lha' :  matches  all strings that doesn't begin with `l', and
  878.               ends  in  'ha'.   For  example  `uha', `why_lha' but not
  879.               'lumbha' or 'lha'.  
  880.  
  881.  
  882.                                     NOTE
  883.  
  884.             Because  of  a  bug  (or  misfeature) in ARP, the `~'
  885.             token  is  not  correctly handled by LhA when running
  886.             under  KickStart  1.3  under  ARP.  Under  KS2.x  LhA
  887.             handles  it  okay however. In ARP a negation actually
  888.             negates  the ENTIRE EXPRESSION, so `~lha' matches all
  889.             files but `lha'.  
  890.  
  891.  
  892.      2.3.1.7 Percent sign (%)     
  893.  
  894.         The percent   sign  represents  the  empty  string.   i.e.   it
  895.      matches  0  characters always.  It is only useful in parenthesized
  896.      expressions  and  must not follow a the `#' token (`#%' would be a
  897.      rather  pointless  pattern,  since  the % always matches exactly 0
  898.  
  899.  
  900.      
  901.  
  902.  
  903.      V1.32e                   LhA User's Guide                  Page 15
  904.  
  905.  
  906.      characters).  
  907.  
  908.       EXAMPLE 
  909.  
  910.        `lha(.doc|.man|%)' : matches `lha.doc', `lha.man' and `lha'.  
  911.  
  912.        `l%u%a' :  matches  `lua'  only;  the percent signs are totally
  913.               irrelevant here and can just as well be removed.  
  914.  
  915.  
  916.      2.3.2 KS1.3 ARP and KS2.x pattern matching  
  917.  
  918.         When running  LhA  (and  other  programs for that matter) under
  919.      KickStart  2.x,  the  `*'  (star)  wildcard  is  not usable unless
  920.      `starburst'  or  a  similar program has been used to enable it. If
  921.      arp.library  is not available when running under KickStart 1.3 LhA
  922.      will  use  its  internal  pattern  matching  routines,  which only
  923.      handles patterns containing the `*' and `?' tokens.  
  924.  
  925.      2.3.3 National characters      
  926.  
  927.         LhA correctly   converts   national  characters  to  lower-  or
  928.      uppercase.  This  causes  some  trouble  on  older versions of the
  929.      KickStart   since   these   did  not  correctly  convert  national
  930.      characters   to  uppercase  when  calculating  the  filename  hash
  931.      value.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.      
  961.  
  962.  
  963.      V1.32e                   LhA User's Guide                  Page 16
  964.  
  965.  
  966.      2.4 Commands       
  967.  
  968.         This section  describes  the  commands for archive manipulation
  969.      and  maintenance LhA offers to you.  See section 2.1.2 (Specifying
  970.      commands)  for  details  on how to specify commands on the command
  971.      line.  
  972.  
  973.      2.4.1 `a' Add files to archive   
  974.  
  975.         Obviously, this  command  adds a number of files to one or more
  976.      archives.   If  the specified archive does not already exist, then
  977.      it  will  be created.  You cannot add files to an archive if these
  978.      already  exist in the archive.  If you attempt to do so, a warning
  979.      will  be  issued, but LhA will continue adding the other files you
  980.      have specified.  
  981.  
  982.         Only the  filenames  are  stored  by  default,  if  you want to
  983.      preserve  some  disk  structure and directory names, you will have
  984.      to  use the -x option to turn path preservation on. If you want to
  985.      archive  entire  subdirectories  recursively  you  can  use the -r
  986.      option,  which  will  turn  on  the -x option automatically. These
  987.      options are explained in section 2.5.  
  988.  
  989.       EXAMPLE 
  990.  
  991.        `LhA  a  myarchive  dict.txt'  would add the file `dict.txt' to
  992.        the archive `myarchive.lha'.  
  993.  
  994.        `LhA  a  arc.lzh  *.c *.h' would cause all files in the current
  995.        directory  ending  in  `.c'  or `.h' to be added to the archive
  996.        `arc.lzh' 
  997.  
  998.        `LhA  -r -0 arch *.c' would cause all `.c' files in the current
  999.        directory  and  all  it's  subdirectories  to  be  added to the
  1000.        archive  `arch.lzh'  using  the  -lh1-  (LhArc 1.x) compression
  1001.        method.  
  1002.  
  1003.        `LhA  -r  archive  src:(lharca|lha)/*.[cha]  asrc:*.asm'  would
  1004.        cause  all  `.c',  `.h'  and `.a' files in the `src:lharca' and
  1005.        `src:lha'  directories  and  subdirectories,  as  well  as  all
  1006.        `.asm'  files  in  the  `asrc:'  directory,  to be added to the
  1007.        archive `archive.lha'.  
  1008.  
  1009.  
  1010.  
  1011.      2.4.3 `d' Delete files from archive   
  1012.  
  1013.         This command  removes one or more files from an archive. Please
  1014.      note  that  the  message  about  `packing'  does not mean that LhA
  1015.      compresses  the  files once more.. Just that it removes the unused
  1016.      files from the archive (packs the remaining files closer).  
  1017.  
  1018.  
  1019.  
  1020.      
  1021.  
  1022.  
  1023.      V1.32e                   LhA User's Guide                  Page 17
  1024.  
  1025.  
  1026.                                     NOTE
  1027.  
  1028.           Files  deleted  with the `d' command cannot be recovered
  1029.           from  the  archive  file  in  any  way.   Once a file is
  1030.           deleted from an archive it is gone forever.  
  1031.  
  1032.  
  1033.      2.4.4 `e' Extract files from archive   
  1034.  
  1035.         This command  is  used  to  extract  files from an archive.  It
  1036.      works  just  like  the  `x' command, except this command takes the
  1037.      `-x'  option  into  consideration  (the  `x' command assumes it is
  1038.      set).   If  the  `-x'  option  is  disabled,  files  are extracted
  1039.      without  their pathnames, and if it's enabled LhA will extract all
  1040.      files  with  the  pathnames  and  create the needed directories if
  1041.      they do not already exist.  
  1042.  
  1043.       EXAMPLE 
  1044.  
  1045.        `lha  -x0  e  foo.lzh  ram:'  will  extract  all files from the
  1046.        archive  `foo.lzh'  to  ram:,  without paths (all files will be
  1047.        put in the ram:  root directory).  
  1048.  
  1049.        `lha  x foo.lzh *.c ram:' will extract all files ending in `.c'
  1050.        to  ram:,  with  paths  -  i.e.  it  will recreate the original
  1051.        directory structure.  
  1052.  
  1053.        See the tutorial section for more examples 
  1054.  
  1055.  
  1056.      2.4.5 `f' Freshen files in archive   
  1057.  
  1058.         This command  is  used  to  freshen  files in an archive.  I.e.
  1059.      replace  older  files  in  the  archive  with  new  files from the
  1060.      current  directory.   Pathnames  are  considered  unless  the `-x'
  1061.      option  is  disabled  explicitly (with `-x0').  This command never
  1062.      adds  any  files  to an archive, it just replaces those files that
  1063.      have  older modification dates than the corresponding files in the
  1064.      current directory.  
  1065.  
  1066.       EXAMPLE 
  1067.  
  1068.        `lha  f  /aab/lha'  will  freshen  all  files  in  the  archive
  1069.        '/aab/lha.lha'.  
  1070.  
  1071.        `lha  f  /aab/fsys *.[ch]' will freshen all `.c' and `.h' files
  1072.        in the archive '/aab/fsys.lha'.  
  1073.  
  1074.  
  1075.         This command  automatically  enables  the `-x' option unless it
  1076.      is explicitly disabled on the command line with `-x0'.  
  1077.  
  1078.  
  1079.  
  1080.      
  1081.  
  1082.  
  1083.      V1.32e                   LhA User's Guide                  Page 18
  1084.  
  1085.  
  1086.      2.4.8 `l' List archive contents (terse)   
  1087.  
  1088.         This command  gives  a terse list of the contents of an archive
  1089.      file,   including   file   names  (without  paths),  original  and
  1090.      compressed length, last modification date and compression ratio.  
  1091.  
  1092.         Files with  pathnames  are  indicated by having a `+' character
  1093.      in front of the name. See example below.  
  1094.  
  1095.         Filenotes are  NOT  displayed  when using this command, use the
  1096.      `v' or `vv' command to display those.  
  1097.  
  1098.         The action  file  specification is used to determine what files
  1099.      to list. If no filespecs are given, all files will be listed.  
  1100.  
  1101.       EXAMPLE 
  1102.  
  1103.         1> lha -N l dl:c64new 
  1104.  
  1105.         Listing of archive 'dl:c64new.lzh': 
  1106.         Original  Packed Ratio    Date     Time    Name 
  1107.         -------- ------- ----- --------- --------  ------------- 
  1108.            36098   26979 25.2% 20-Oct-91 22:40:16 +Stormlord 
  1109.              482     293 39.2% 20-Oct-91 22:41:36 +Stormlord.info 
  1110.            23016   12100 47.4% 21-Oct-91 08:28:18  PlaySID 
  1111.         -------- ------- ----- --------- -------- 
  1112.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1113.  
  1114.         The `+'  (plus) signs in front of the first two names indicate
  1115.        that  the  file  has a path which is not displayed with the `l'
  1116.        command  (use  the  `v' or `vv' command to display pathnames as
  1117.        well).  The `-N' suppresses the copyright notice.  
  1118.  
  1119.  
  1120.      2.4.8.1 `lq' List archive (terse-quick)    
  1121.  
  1122.         This command  works  just  like  the  `l' command, but the only
  1123.      information   listed   is   the  filenames  without  paths.  Empty
  1124.      directories are displayed as an empty line.  
  1125.  
  1126.  
  1127.      2.4.9 `m' Move files to archive   
  1128.  
  1129.         This command  works  just  like the `a' command, but the source
  1130.      files are deleted after successfully adding them to the archive.  
  1131.  
  1132.       EXAMPLE 
  1133.  
  1134.        `lha   m  includes.lzh  src:*.[hi]'  will  move  all  files  in
  1135.        directory  `src:'  having  filenames  ending in `.h' or `.i' to
  1136.        the archive `includes.lzh'.  
  1137.  
  1138.  
  1139.  
  1140.      
  1141.  
  1142.  
  1143.      V1.32e                   LhA User's Guide                  Page 19
  1144.  
  1145.  
  1146.        `lha  m  myarc.lzh lhb_log.911012 lhb_idx.911012' will move the
  1147.        two  specified files (`lhb_log.911012' and `lhb_idx.911012') to
  1148.        the archive `myarc.lzh'.  
  1149.  
  1150.  
  1151.      2.4.14 `p' Print files to stdout   
  1152.  
  1153.         This command  works  just like the extract (`e', `x') commands,
  1154.      but  sends the extracted output to stdout (normally the console or
  1155.      output redirection file).  
  1156.  
  1157.  
  1158.      2.4.15 `r' Replace files     
  1159.  
  1160.         This command  works  just  like  the  update/add  commands  but
  1161.      replaces  the  files  that already exist in the archive regardless
  1162.      of  the  file  modification  time. (Using the `u' command together
  1163.      with the `-Qr' option is equivalent to using this command).  
  1164.  
  1165.  
  1166.      2.4.17 `t' Test archive integrity    
  1167.  
  1168.         This command   tests   the   specified  archives  integrity  by
  1169.      extracting  the  files they contain to nowhereland, i.e.  the data
  1170.      is  decompressed only, not written to any file.  This command only
  1171.      works  on  entire archives, i.e.  you cannot just test one file in
  1172.      an  archive.  If this command fails, the archive is corrupted, and
  1173.      a warning return code is returned.  
  1174.  
  1175.       EXAMPLE 
  1176.  
  1177.        `lha  t  work:arcs/*'  will check the integrity of all archives
  1178.        in directory `work:arcs'.  
  1179.  
  1180.        `lha    t   s:envarc.lzh'   will   check   the   integrity   of
  1181.        `s:envarc.lzh' 
  1182.  
  1183.        `lha  -R  t  dh0:*' will check the integrity of all archives on
  1184.        the `dh0:' volume (`-R' = Collect archives recursively).  
  1185.  
  1186.  
  1187.      2.4.18 `u' Update archive     
  1188.  
  1189.         As the  command name implies, this command updates archives. It
  1190.      adds  files  that are not yet in the archive and replaces existing
  1191.      but  older files. The last modification date for files are used to
  1192.      determine which file is the newest one.  
  1193.  
  1194.       EXAMPLE 
  1195.  
  1196.        `lha  u  /aab/lha.lzh  *.c'  will update archive `/aab/lha.lzh'
  1197.        with all `.c' files in the current directory.  
  1198.  
  1199.  
  1200.      
  1201.  
  1202.  
  1203.      V1.32e                   LhA User's Guide                  Page 20
  1204.  
  1205.  
  1206.  
  1207.  
  1208.      2.4.19 `v' List archive (verbose)    
  1209.  
  1210.         This command  works just like the `l' command, but displays the
  1211.      full  pathname  of the file, while `l' only displays the name node
  1212.      without  path.   Another  difference  between `l' and the `v'/`vv'
  1213.      commands  is  that  the  `l'  command  does  not  show  filenotes.
  1214.      Filenotes  are  displayed on a separate line with a colon (`:') in
  1215.      front of it, just like the AmigaDOS `list' command.  
  1216.  
  1217.         The action  file  specification is used to determine what files
  1218.      to list. If no filespecs are given, all files will be listed.  
  1219.  
  1220.       EXAMPLE 
  1221.  
  1222.         1> lha -N v dl:c64new 
  1223.  
  1224.         Listing of archive 'dl:c64new.lzh': 
  1225.         Original  Packed Ratio    Date     Time    Name 
  1226.         -------- ------- ----- --------- --------  ------------- 
  1227.            36098   26979 25.2% 20-Oct-91 22:40:16  S/Stormlord 
  1228.              482     293 39.2% 20-Oct-91 22:41:36  S/Stormlord.info 
  1229.            23016   12100 47.4% 21-Oct-91 08:28:18  PlaySID 
  1230.         : New version with `equalizers' 
  1231.         -------- ------- ----- --------- -------- 
  1232.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1233.  
  1234.         The `-N' suppresses the copyright notice.  
  1235.  
  1236.  
  1237.  
  1238.      2.4.19.1 `vq' List archive (verbose-quick)    
  1239.  
  1240.         This command  works  just  like  the  `v' command, but the only
  1241.      information listed is the filenames including path.  
  1242.  
  1243.  
  1244.      2.4.20 `vv' List archive (full)    
  1245.  
  1246.         This command  is  just  like  the `v' command, but displays all
  1247.      available   information  in  a  slightly  different  format.   The
  1248.      original  and  packed size, last modification date and compression
  1249.      ratio   is  listed  just  as  with  the  `v'  command,  plus  file
  1250.      attributes  (`Atts'),  compression method, file CRC and DOS ID for
  1251.      the  OS  the  files  were compressed on.  If no DOS ID is given in
  1252.      the  archive  (header  level  <  1), a question mark is displayed.
  1253.      The  most  common  DOS  IDs are `A', `U' and `M', where `A' is for
  1254.      AmigaDOS,  `U'  is  for  **IX and `M' is for MS-DOS.  The filename
  1255.      including  path  is  displayed on a separate line.  File notes are
  1256.      displayed  in  the  same  way  as  the  `v'  command does it, on a
  1257.      separate  line  after  the  filename.  The  header  level  is also
  1258.  
  1259.  
  1260.      
  1261.  
  1262.  
  1263.      V1.32e                   LhA User's Guide                  Page 21
  1264.  
  1265.  
  1266.      displayed,  and  if  any  unhandled extended headers are found, an
  1267.      `X' will be listed after the DOS ID.  
  1268.  
  1269.         The action  file  specification is used to determine what files
  1270.      to list. If no filespecs are given, all files will be listed.  
  1271.  
  1272.       EXAMPLE 
  1273.  
  1274.         1> lha -N vv dl:c64new 
  1275.  
  1276.         Listing of archive 'dl:c64new.lzh': 
  1277.         Original  Packed Ratio    Date     Time     Atts   Method CRC  L OS 
  1278.         -------- ------- ----- --------- -------- -------- ------ ---- ----- 
  1279.         S/Stormlord 
  1280.            36098   26979 25.2% 20-Oct-91 22:40:16 ----rwed  -lh1- 2093 2 U X 
  1281.         S/Stormlord.info 
  1282.              482     293 39.2% 20-Oct-91 22:41:36 ----rwed  -lh1- 710E 2 U X 
  1283.         PlaySID 
  1284.            23016   12100 47.4% 21-Oct-91 08:28:18 ----rwed  -lh5- 89FF 0 ? 
  1285.         : New version with `equalizers' 
  1286.         -------- ------- ----- --------- -------- 
  1287.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1288.  
  1289.         The `-N' option suppresses the copyright notice.  
  1290.  
  1291.  
  1292.  
  1293.        2.4.21 `x' Extract files with path   
  1294.  
  1295.           This command  is  exactly the same as the `e' command, but it
  1296.        always  extracts  files  with paths (i.e.  same as using the `e'
  1297.        command  with  `-x'  option  on), regardless of the state of the
  1298.        `-x' option.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.      
  1321.  
  1322.  
  1323.      V1.32e                   LhA User's Guide                  Page 22
  1324.  
  1325.  
  1326.        2.5 Options       
  1327.  
  1328.           This section   describes   the   various   options  that  are
  1329.        available  to  you when using LhA. For a detailed explanation on
  1330.        how  to  enable/disable  specific  options  and  where  you  can
  1331.        specify  options, see section 2.1.1.  The letters in parantheses
  1332.        indicate what commands the options affect.  
  1333.  
  1334.            Code  Commands 
  1335.            ----- ------------ 
  1336.            (add) a,u,f 
  1337.            (all) all commands 
  1338.            (ext) e,x 
  1339.            (upx) a,u,f,e,x 
  1340.            (upd) a,u,f,d 
  1341.  
  1342.  
  1343.        2.5.1 `-a' (upx) Preserve file attributes   
  1344.  
  1345.           This option,  when  enabled,  will make LhA store and restore
  1346.        file protection flags. The eight attributes are listed below: 
  1347.  
  1348.            r:  Read  - This flag is set for files which are readable (a
  1349.               file is read-protected if the flag is unset).  
  1350.  
  1351.            w:  Write  -  This flag is set for files which are writeable
  1352.               (a file is write-protected if the flag is unset).  
  1353.  
  1354.            e:  Execute   -  This  flag  is  set  for  files  which  are
  1355.               executable  (binary load files or shell scripts must have
  1356.               this bit set).  
  1357.  
  1358.            d:  Delete   -   This  flag  is  set  for  files  which  are
  1359.               deleteable  (a  file  is  protected from deletion if this
  1360.               flag is unset).  
  1361.  
  1362.            a:  Archived   -   This  flag  is  used  by  harddisk-backup
  1363.               programs  (and  optionally  LhA)  to  indicate what files
  1364.               have  been changed since the last backup. If this flag is
  1365.               set  it  indicates  that the file is unchanged, and if it
  1366.               is  unset  the  file  has  changed since the last backup.
  1367.               The  bit  is  cleared  whenever  a  write  is made to the
  1368.               file.  
  1369.  
  1370.            p:  Pure  - This flag is set for binary load files which are
  1371.               pure  (i.e.   multitasking  reentrant),  and  can be made
  1372.               resident  with  the  AmigaDOS  'resident'  or  equivalent
  1373.               command.  
  1374.  
  1375.            s:  Script - This flag is set for shell script files.  
  1376.  
  1377.            h:  Hidden  -  This  flag  is  set for files that should not
  1378.  
  1379.  
  1380.      
  1381.  
  1382.  
  1383.      V1.32e                   LhA User's Guide                  Page 23
  1384.  
  1385.  
  1386.               show  up  on  directory  listings. It is not supported by
  1387.               the  current  release of the AmigaDOS shell/CLI commands,
  1388.               and should thus not be used.  
  1389.  
  1390.  
  1391.           Please refer   to   an  AmigaDOS  manual  for  more  detailed
  1392.        explanation of the various file protection flags.  
  1393.  
  1394.           If the  option  is  disabled (by issuing `-a0' on the command
  1395.        line),  the  protection  flags  are  set  to  '----RWED' for all
  1396.        extracted  and  archived  files.  Important:  You MUST have this
  1397.        option  enabled  both  when archiving and extracting to preserve
  1398.        file attributes correctly.  
  1399.  
  1400.                                      NOTE
  1401.  
  1402.             Use  this option only if you know that the archive has
  1403.             been  compressed or will be decompressed with an Amiga
  1404.             archiver,   since   the   attribute  field  format  is
  1405.             different  on different operating systems.  If you use
  1406.             archive  headers  of  level  1  or higher you need not
  1407.             care  about  this since the archiver then detects what
  1408.             OS  the  archive  was  created  on  and  only uses the
  1409.             protection  flags  if  it  is  the  native OS.  Always
  1410.             leave  this  option enabled when using archive headers
  1411.             of level 1 and higher! 
  1412.  
  1413.  
  1414.           This option  is  enabled  by default when archiving (a,f,u,m)
  1415.        and disabled by default for all other commands.  
  1416.  
  1417.        2.5.2 `-A' (upd) Set archive attributes   
  1418.  
  1419.           When this  option is active, LhA will set the file protection
  1420.        flags of all archives it updates to `----RW-D'.  
  1421.  
  1422.           This option is OFF by default.  
  1423.  
  1424.        2.5.3 `-b' (all) Set I/O buffer size  
  1425.  
  1426.           This option  will  set  the  size of the I/O buffers LhA uses
  1427.        when  reading  and  writing  to  archive files.  You can set the
  1428.        buffer  size  to  anything  from  8KB  to 64 KB.  Larger buffers
  1429.        normally  makes  LhA  operate  slightly  faster  (depends on the
  1430.        nature of the archive and what files are selected).  
  1431.  
  1432.         EXAMPLE 
  1433.          'lha  -b64  a  archive.lzh hubba' :  Will add file `hubba' to
  1434.          `archive.lzh' using an I/O buffer of 64K.  
  1435.  
  1436.                                      NOTE
  1437.  
  1438.  
  1439.  
  1440.      
  1441.  
  1442.  
  1443.      V1.32e                   LhA User's Guide                  Page 24
  1444.  
  1445.  
  1446.             Running  LhA with a small I/O buffer on an accelerated
  1447.             (68020  and  up)  Amiga  will  degrade  compression  /
  1448.             decompression  performance significantly!  The default
  1449.             buffer  size  of  32KB  is  enough  in most cases, and
  1450.             works  well  on  an unaccelerated Amiga as well.  Also
  1451.             note  that when running LhA and doing all work on some
  1452.             ram  disk,  the I/O buffer size is less important, and
  1453.             it  is  unnecessary  to  run  with a large buffer. The
  1454.             default buffer size of 32K is OK for most purposes.  
  1455.  
  1456.  
  1457.           The default buffer size is 32K (32768 bytes) 
  1458.  
  1459.        2.5.4 `-B' (all) Keep backup of archives  
  1460.  
  1461.           This option is not yet implemented.  
  1462.  
  1463.        2.5.5 `-c' (all) Confirm files    
  1464.  
  1465.           When this  option is active LhA will ask you for confirmation
  1466.        on all files and archives that are acted upon.  
  1467.  
  1468.           This option is OFF by default.  
  1469.  
  1470.        2.5.6 `-C' (ext) Clear arc-bit on extract  
  1471.  
  1472.           When this  option  is  active  LhA will mask the A-protection
  1473.        bit  for  all  files it extracts. This is useful when extracting
  1474.        files  from  archives  to  a harddisk, since the extracted files
  1475.        would  not  be  recognized as new or changed files by the backup
  1476.        program if the A-bit was set.  
  1477.  
  1478.           This option is ON by default.  
  1479.  
  1480.        2.5.6 `-d' (upd) Archive date=newest file   
  1481.  
  1482.           When this   option   is   active   LhA   will  set  the  last
  1483.        modification  date  of  the archive to the same date as the last
  1484.        modified  file in the archive. This more accurately reflects the
  1485.        real  age  of  the  archive  contents  than the date of the last
  1486.        archive update.  
  1487.  
  1488.           This option is OFF by default.  
  1489.  
  1490.        2.5.8 `-D' (all) Alternate progress display   
  1491.  
  1492.           This switch  is  used to change the look of the byte progress
  1493.        indicator   that   LhA   displays  when  it  is  compressing  or
  1494.        decompressing  files.  There  are  several  different  types  of
  1495.        progress  indicators,  you can specify which one you want with a
  1496.        digit after the '-D' string.  
  1497.  
  1498.  
  1499.  
  1500.      
  1501.  
  1502.  
  1503.      V1.32e                   LhA User's Guide                  Page 25
  1504.  
  1505.  
  1506.        0:  This  is  the  default  progress  indicator, it displays how
  1507.           many  bytes of the file LhA has processed, and how many bytes
  1508.           there is in the file like this: 
  1509.  
  1510.           (xxxxxxx/yyyyyyy)  where  x  = bytes processed, and y = total
  1511.           bytes in the file.  
  1512.  
  1513.  
  1514.        1:  This  progress indicator simply shows a `rotating line' that
  1515.           is  rotated  45  degrees  every  time  the progress indicator
  1516.           display is updated).  
  1517.  
  1518.  
  1519.        2:  This  progress  indicator shows how many percent of the file
  1520.           LhA has processed.  
  1521.  
  1522.  
  1523.        3:  This   progress   indicator  displays  a  growing  bar  that
  1524.           indicates how much of the file that has been processed.  
  1525.  
  1526.  
  1527.         EXAMPLE 
  1528.  
  1529.          `lha  -D2  a  src  *.asm'  will  add  files  to  the  archive
  1530.          `src.lha' with a percentage indicator (type 2).  
  1531.  
  1532.  
  1533.           The default progress indication type is 0.  
  1534.  
  1535.        2.5.9 `-e' (add) Archive empty directories   
  1536.  
  1537.           When this  option  is  used  together  with the `-r' (collect
  1538.        files   recursively)   option,   LhA   will  archive  all  empty
  1539.        subdirectories.  
  1540.  
  1541.           This option  is  OFF by default (empty subdirectories are not
  1542.        archived).  
  1543.  
  1544.        2.5.10 `-E' (ext) Touch extracted files   
  1545.  
  1546.           When this   option   is   enabled,  LhA  will  set  the  file
  1547.        modification  date  of  all extracted files to the current time.
  1548.        This  can  be useful if you do HD backups by date rather than by
  1549.        archive bit.  
  1550.  
  1551.           This option  is  OFF  by  default  (the original modification
  1552.        dates are restored).  
  1553.  
  1554.        2.5.11 `-f' (all) Ignore filenotes    
  1555.  
  1556.           When this  option  is  enabled, LhA will not store or restore
  1557.        any  filenotes.  There is no real need to do this, since it does
  1558.  
  1559.  
  1560.      
  1561.  
  1562.  
  1563.      V1.32e                   LhA User's Guide                  Page 26
  1564.  
  1565.  
  1566.        not  cause any compatibility problems with other systems because
  1567.        of  the  way the filenotes are stored.  If problems should arise
  1568.        anyway,  try  enabling  this option or use headers of level 1 or
  1569.        higher if the target system supports it.  
  1570.  
  1571.           See the  section  about  compatibility (1.7) for a discussion
  1572.        about this and other compatibility issues.  
  1573.  
  1574.           This option  is  OFF  by  default  (filenotes  are stored and
  1575.        restored) 
  1576.  
  1577.        2.5.12 `-F' (all) Use fast progress display  
  1578.  
  1579.           In this  mode LhA uses a different method of display progress
  1580.        for  the  extract  and  test  commands.  Normally,  LhA  emits a
  1581.        linefeed   (LF)   after  each  file  has  been  processed,  thus
  1582.        advancing/scrolling  the display one line. In this mode LhA only
  1583.        emits  a  LF  when  an  error  occurs. This is useful if you are
  1584.        testing  or  extracting files with a lot of small files, and the
  1585.        scrolling takes more time than the actual decompression! 
  1586.  
  1587.                                      NOTE
  1588.  
  1589.             If  you  use  the  default style progress display on a
  1590.             very  fast  Amiga  system  (68020+),  beware  that the
  1591.             scrolling  of  the  screen may actually take more time
  1592.             than  the  actual  decompression!   This is especially
  1593.             true  for  archives  with  many small files.  So don't
  1594.             use  it  unless  you  really  _have_ to see what files
  1595.             have   been   processed.    LhA  scrolls  the  display
  1596.             whenever  an  error occurs on a file, so you still can
  1597.             see  when  an  error  occurs  (better, even, since the
  1598.             only  filenames that remain on screen after the action
  1599.             is complete are those that failed!).  
  1600.  
  1601.  
  1602.           This option  is  OFF  by  default  (use  old  style  progress
  1603.        indication).  
  1604.  
  1605.        2.5.13 `-g' (add) Garble files with password  
  1606.  
  1607.           This option is not available in the current version.  
  1608.  
  1609.        2.5.14 `-G' (ext) Only extract newer files  
  1610.  
  1611.           When this  option  is  used  LhA will only extract files that
  1612.        already  exists  and have a last modification date that is newer
  1613.        than the existing files.  
  1614.  
  1615.           This option is OFF by default.  
  1616.  
  1617.        2.5.15 `-h' (add) Disable homedirectories    
  1618.  
  1619.  
  1620.      
  1621.  
  1622.  
  1623.      V1.32e                   LhA User's Guide                  Page 27
  1624.  
  1625.  
  1626.  
  1627.           When this  option is enabled, the homedirectory specification
  1628.        feature of LhA is disabled.  
  1629.  
  1630.           This option   is   OFF   by   default   (homedirectories  are
  1631.        recognized).  
  1632.  
  1633.        2.5.16 `-H' (add) Write header level   
  1634.  
  1635.           With this  switch  you  can select which header types to use.
  1636.        The  valid  header  levels are currently 0,1 and 2. Please refer
  1637.        to   the  section  about  header  levels  for  a  more  detailed
  1638.        explanation about the various header types.  
  1639.  
  1640.           The default header level is 0.  
  1641.  
  1642.        2.5.17 `-i' (all) Read filelist from file  
  1643.  
  1644.           With this  option  you can include an action file list from a
  1645.        file instead of specifying all action files on a command line.  
  1646.  
  1647.         EXAMPLE 
  1648.  
  1649.          If the file `ArcFList' contains the following lines: 
  1650.  
  1651.          ---> Start of ArcFList data   (this line is NOT in the file) 
  1652.  
  1653.          LhA.c ArcList.c FSys/*.(c|h|i|asm|prf|man|doc|txt) 
  1654.  
  1655.          ---> End of ArcFList data     (this line is NOT in the file) 
  1656.  
  1657.          The following command line: 
  1658.  
  1659.          `lha -iArcFList u /aab/lha.lzh' 
  1660.  
  1661.          Will do the same thing as this command: 
  1662.  
  1663.          `lha        u        /aab/lha.lzh       LhA.c       ArcList.c
  1664.          FSys/*.(c|h|i|asm|prf|man|doc|txt)' 
  1665.  
  1666.  
  1667.                                      NOTE
  1668.  
  1669.               This  command  works  almost  exactly like entering
  1670.               the following command line: 
  1671.  
  1672.               LhA ? ???? @file 
  1673.  
  1674.               Thus  you  can include options in your -i file. The
  1675.               only  difference is that the -i file cannot contain
  1676.               a  destination  directory  specification  while you
  1677.               can  do this with the @file method. The destination
  1678.  
  1679.  
  1680.      
  1681.  
  1682.  
  1683.      V1.32e                   LhA User's Guide                  Page 28
  1684.  
  1685.  
  1686.               directory  will  always  be  taken from the command
  1687.               line when using the -i option.  
  1688.  
  1689.  
  1690.  
  1691.           See the  section  about  `@'(include)-files  for an alternate
  1692.        way of doing this.  
  1693.  
  1694.        2.5.18 `-I' (all) Ignore LHAOPTS variable   
  1695.  
  1696.           When this  option  is specified, LhA will not try to read the
  1697.        defaults  from the LHAOPTS local or global environment variable.
  1698.        Note  that this option is special because it has to be specified
  1699.        directly after a dash (`-') on the command line.  
  1700.  
  1701.           This option is OFF by default.  
  1702.  
  1703.        2.5.19 `-k' (all) Keep partial files   
  1704.  
  1705.           This option  will, if it's enabled, prevent LhA from deleting
  1706.        temporary  files when an error occurs.  Normally temporary files
  1707.        that  fail  the  CRC  check, cause I/O errors or are interrupted
  1708.        with  CTRL-C  are  deleted  before  exiting  LhA  with  an error
  1709.        message,  with  this  option  you  can  force  LhA to keep those
  1710.        (often)  partial  files.   This  can  be  useful  when trying to
  1711.        recover  data  from  corrupted  archives  -  LhA will attempt to
  1712.        extract  the  data  from  the  erraneous  archive file and put a
  1713.        special  filenote on the file to indicate that it failed the CRC
  1714.        check and probably is corrupted.  
  1715.  
  1716.                                      NOTE
  1717.  
  1718.             Please  that  in  the  current  release,  for  certain
  1719.             errors  all data that has been extracted may not be in
  1720.             the  partially extracted file, because of internal I/O
  1721.             buffering.  In  this  case,  set the I/O buffer to the
  1722.             smallest  value  possible  (8KB) to recover as much as
  1723.             possible.  Because  of  this,  small  files may not be
  1724.             recovered  at  all.  This  only applies to LHA (-lh5-)
  1725.             compression,  LhArc  compressed files will always have
  1726.             all extracted data in the partially extracted file.  
  1727.  
  1728.  
  1729.           This option is OFF by default (partial files are deleted).  
  1730.  
  1731.        2.5.20 `-K' (move) Kill empty directories   
  1732.  
  1733.           When this  option  is  used  together  with  the  move  (`m')
  1734.        command  LhA  will  delete  all directories that are empty after
  1735.        moving  all  files  to  the archive. Useful for moving an entire
  1736.        subdirectory  tree  with  the  `-r'  (collect files recursively)
  1737.        option.  
  1738.  
  1739.  
  1740.      
  1741.  
  1742.  
  1743.      V1.32e                   LhA User's Guide                  Page 29
  1744.  
  1745.  
  1746.  
  1747.           This option  is  OFF  by  default  (empty directories are not
  1748.        deleted).  
  1749.  
  1750.        2.5.21 `-l' (ALL) Make filenames lowercase   
  1751.  
  1752.           This option,  when  active,  will  cause  LhA  to convert all
  1753.        filenames  to  lowercase.   This is useful when extracting files
  1754.        from  archives created on MSDOS systems, whose filenames are all
  1755.        uppercase,  which  look  completely  braindead (IMHO).  Use this
  1756.        option to make them look nicer! 
  1757.  
  1758.         EXAMPLE 
  1759.          `LhA    -l   x   myarc'   will   extract   all   files   from
  1760.          `myarc.(lzh|lha)', making all filenames lowercase.  
  1761.  
  1762.           This option if OFF by default 
  1763.  
  1764.        2.5.22 `-L' (ALL) Create filelist    
  1765.  
  1766.           When this  option  is  enabled, it will cause LhA to create a
  1767.        list  of  the  files  it  has acted upon (i.e. what files in the
  1768.        last  operation  that  matched the action file specification you
  1769.        gave  on  the  command  line).  The  name  of the list file must
  1770.        follow  immediately after the `-L' string. If you need spaces in
  1771.        the filename, enclose the name in double quotes.  
  1772.  
  1773.         EXAMPLE 
  1774.  
  1775.          `lha  -Lram:ListFile  d  src.lzh *.asm' will delete all files
  1776.          in  `src.lzh'  with  names ending in `.asm' and create a list
  1777.          of the deleted files in the file `ram:ListFile'.  
  1778.  
  1779.          `lha   -L"ram:List   File"   u  src.lzh  *.asm'  will  update
  1780.          `src.lzh',   and  create  a  list  of  the  files  that  were
  1781.          added/replaced in the file `ram:List File'.  
  1782.  
  1783.                                      NOTE
  1784.  
  1785.             The  file  that  this  option creates is a plain ASCII
  1786.             file  with  every  name  on a separate line. The files
  1787.             created  by this option are suitable for use as action
  1788.             or  exclude  lists  for  LhA  using  the  `@'  or `-i'
  1789.             options.  
  1790.  
  1791.  
  1792.           This option is OFF by default (no filelist created).  
  1793.  
  1794.        2.5.23 `-m' (ALL) No messages for query  
  1795.  
  1796.           When this  option  is  active  LhA  will suppress all queries
  1797.        that  normally  are issued before overwriting existing files for
  1798.  
  1799.  
  1800.      
  1801.  
  1802.  
  1803.      V1.32e                   LhA User's Guide                  Page 30
  1804.  
  1805.  
  1806.        example.   Enabling  this  option  will also cause LhA to ignore
  1807.        TelOps  (autoshow  files).   When this option is on you LhA will
  1808.        behave  like  you  choose  the default action in response to all
  1809.        the  queries  (yes). This option is automatically enabled if the
  1810.        standard  input is not interactive (if run in the background for
  1811.        example).  
  1812.  
  1813.           This option if OFF by default.  
  1814.  
  1815.        2.5.24 `-M' (ext) No autoshow files   
  1816.  
  1817.           When this  option  is  enabled, LhA will suppress the display
  1818.        of autoshow files (files with names ending in `.displayme').  
  1819.  
  1820.                                      NOTE
  1821.  
  1822.             Autoshow  files  are also suppressed if one or more of
  1823.             the `-N', `-q' or `-m' options are enabled.  
  1824.  
  1825.  
  1826.           This option   is   OFF   by   default   (autoshow  files  are
  1827.        displayed).  
  1828.  
  1829.        2.5.25 `-n' (upx) No byte progress indicator  
  1830.  
  1831.           When this  option  is enabled, the byte progress indicator is
  1832.        disabled.  LhA  will  still  display  what file it is working on
  1833.        however, use `-N' to disable all progress indication.  
  1834.  
  1835.           This option is OFF by default.  
  1836.  
  1837.        2.5.26 `-N' (all) No progress indicator   
  1838.  
  1839.           This option  is  similar  to  the  `-n' option, but supresses
  1840.        higher-level  progress  indication  (i.e.   the  display of what
  1841.        file  LhA  is  bashing).  It  also  disables the short copyright
  1842.        banner that is printed at each invokation otherwise.  
  1843.  
  1844.           This option  is  off  by  default  (file  progress indication
  1845.        ON).  
  1846.  
  1847.        2.5.27 `-p' (ALL) Pause after loading   
  1848.  
  1849.           When selected,  this  option will cause LhA to pause and wait
  1850.        for  the  user to press any key before executing a command. This
  1851.        is  useful  for  users  with  floppies,  who can then swap disks
  1852.        after LhA has been loaded and is waiting for a keypress.  
  1853.  
  1854.           This option is OFF by default.  
  1855.  
  1856.        2.5.28 `-P' (ALL) Set task priority   
  1857.  
  1858.  
  1859.  
  1860.      
  1861.  
  1862.  
  1863.      V1.32e                   LhA User's Guide                  Page 31
  1864.  
  1865.  
  1866.           This option  is  used  to  set  the LhA process priority. The
  1867.        priority  may  be  set  to  any  value  in  the  range -5 to +5,
  1868.        including  0.  The  higher  priority  you give LhA, the more CPU
  1869.        time  it  will  grab  (processes with lower priority will almost
  1870.        never    get   the   chance   to   run   since   LhA   is   very
  1871.        processor-intensive).   Setting it to a low value (like -5) will
  1872.        make  LhA  only  use  the  processor time that nobody else wants
  1873.        (nice  when  running  LhA  as  a background task while running a
  1874.        comm program).  
  1875.  
  1876.           The priority  must  be  specified  with  a single (optionally
  1877.        prefixed   with  a  minus  sign  for  negative  priority)  digit
  1878.        immediately after the P as in: 
  1879.  
  1880.         EXAMPLE 
  1881.          `lha  -P-1  a  nonsense.lzh  bogus.txt' will make LhA add the
  1882.          file  `bogus.txt'  to  the archive `nonsense.lzh', running at
  1883.          priority -1.  
  1884.  
  1885.           The default  priority  is  inherited from the calling process
  1886.        (i.e.   the CLI or program that called Execute()/RunCommand() ).
  1887.        This is usually zero (0).  
  1888.  
  1889.        2.5.29 `-q' (ALL) Be quiet    
  1890.  
  1891.           This option will supress ALL messages from LhA.  
  1892.  
  1893.           This option is OFF by default 
  1894.  
  1895.        2.5.30 `-Q' (ALL) Alternate option set   
  1896.  
  1897.           This option  character  (`Q') will cause all following option
  1898.        characters  until  next  space  character  to  be interpreted as
  1899.        extended  options.   These  are  documented  at  the end of this
  1900.        section.  
  1901.  
  1902.        2.5.31 `-r' (add) Collect action files recursively  
  1903.  
  1904.           When this  option is used, LhA will recursively collect files
  1905.        from subdirectories.  
  1906.  
  1907.         EXAMPLE 
  1908.          `lha  -r a ram:disk1 df0:' will archive all files on the disk
  1909.          in drive 0 to `ram:disk1.lha'.  
  1910.  
  1911.          `lha  -r  a ram:disk2src df0:*.c' will archive all `.c' files
  1912.          on df0: to `ram:disk2src.lha'.  
  1913.  
  1914.          `lha    -r    a    ram:exthup    hd:prg/src/    lha/*.[chasi]
  1915.          lhi/*.[chasi]'  will  add  all  `.c',  `.h', `.a', `.s', `.i'
  1916.          files  in  `hd:prg/src/lha'  and  `hd:prg/src/lhi'  and their
  1917.          subdirectories.  The `hd:prg/src/' part of the names will not
  1918.  
  1919.  
  1920.      
  1921.  
  1922.  
  1923.      V1.32e                   LhA User's Guide                  Page 32
  1924.  
  1925.  
  1926.          be  stored  in  the archive (home directory `hd:prg/src/' was
  1927.          specified).  
  1928.  
  1929.                                      NOTE
  1930.  
  1931.             Files  that are specified explicitly (i.e. without any
  1932.             pattern  matching)  are looked for only in the current
  1933.             (home)   directory,   while   patterns  are  used  for
  1934.             matching  in  all  subdirectories.  If  a directory is
  1935.             specified   explicitly   without  any  following  file
  1936.             pattern  (like  in  `lha -r a ram:test sys:l') it will
  1937.             be  treated as if a `/*' was appended to the directory
  1938.             name  -  i.e.  all  files  in  the  directory and it's
  1939.             subdirectories will be archived.  
  1940.  
  1941.  
  1942.           This option  is  OFF by default. Note that the `-x' option is
  1943.        automatically  enabled when the -r option is used. If you do not
  1944.        want  to  store  pathnames  simply  specify `-x0' on the command
  1945.        line.  
  1946.  
  1947.        2.5.32 `-R' (ALL) Collect archive files recursively  
  1948.  
  1949.           When this  option  is  enabled  LhA  will  search for archive
  1950.        files  recursively using the archive file specification given at
  1951.        the  command  line.  This  works  like  the  `-r' option but for
  1952.        archive files.  
  1953.  
  1954.         EXAMPLE 
  1955.          `lha  -R  l  dh0:files/a*'  will  list  the  contents  of all
  1956.          archive   files   whose  names  begin  in  `a'  in  directory
  1957.          `dh0:files' and its subdirectories.  
  1958.  
  1959.          `lha  -R  l *' will list the contents of all archive files in
  1960.          the current directory and its subdirectories.  
  1961.  
  1962.          `lha  -R  l  myarc'  will  list  the contents of all archives
  1963.          called  'myarc.lzh'  or  `myarc.lha' in the current directory
  1964.          and its subdirectories.  
  1965.  
  1966.           This option is OFF by default.  
  1967.  
  1968.        2.5.33 `-s' (add) Add files with a-flag unset 
  1969.  
  1970.           When this  option  is  active,  LhA will only add files which
  1971.        have  the  A  (for Archived) file protection flag unset. This is
  1972.        useful  for  doing  incremental  backups  together with the `-S'
  1973.        option.  
  1974.  
  1975.           This option  is  OFF by default (add files regardless of file
  1976.        protection flags).  
  1977.  
  1978.  
  1979.  
  1980.      
  1981.  
  1982.  
  1983.      V1.32e                   LhA User's Guide                  Page 33
  1984.  
  1985.  
  1986.        2.5.34 `-S' (add) Set A-flag on archived files 
  1987.  
  1988.           When this  option  is  on,  LhA will set the A (for Archived)
  1989.        file  protection  flag  on  all  files  that  are  added  to  an
  1990.        archive.   This  can  be used to simplify automatic backups when
  1991.        used  together with the -s (Add files without A-flag only).  See
  1992.        previous section for more details.  
  1993.  
  1994.           This option is OFF by default.  
  1995.  
  1996.        2.5.35 `-t' (ext) Only new files   
  1997.  
  1998.           When this  option  is  active,  LhA  will  not  overwrite  or
  1999.        replace any files.  
  2000.  
  2001.                                      NOTE
  2002.  
  2003.             This option overrides the `-T' option.  
  2004.  
  2005.  
  2006.           This option is OFF by default.  
  2007.  
  2008.        2.5.36 `-T' (upx) New and newer files  
  2009.  
  2010.           When this  option  is  active,  LhA will overwrite or replace
  2011.        files  that  already exists and are older than the current file,
  2012.        and create files that does not already exist.  
  2013.  
  2014.                                      NOTE
  2015.  
  2016.             This option overrides the `-t' option.  
  2017.  
  2018.  
  2019.           This option is OFF by default.  
  2020.  
  2021.        2.5.37 `-u' (ALL) Make filenames uppercase   
  2022.  
  2023.           This option,  when  active,  will  force  LhA  to convert all
  2024.        filenames   to  uppercase.   This  can  be  useful  when  making
  2025.        archives  that  are supposed to be used on MSDOS-Systems running
  2026.        LhArc/LHA.   While  these have no problems with extracting files
  2027.        with  mixed-case  filenames,  the pattern matching routines will
  2028.        not work correctly.  
  2029.  
  2030.           This option is OFF by default.  
  2031.  
  2032.        2.5.38 `-U' (upx) Set update interval   
  2033.  
  2034.           This option  is  used to set the interval (in bytes) at which
  2035.        LhA  updates  the  byte progress indicator. The desired interval
  2036.        must  be expressed in kilobytes, and must immediately follow the
  2037.        `U' character.  
  2038.  
  2039.  
  2040.      
  2041.  
  2042.  
  2043.      V1.32e                   LhA User's Guide                  Page 34
  2044.  
  2045.  
  2046.  
  2047.         EXAMPLE 
  2048.          `LhA  -U4096  a  bar.lzh  *.c' will add all c-source files in
  2049.          the  current directory to `bar.lzh' with a progress indicator
  2050.          interval of 4096 (4K) bytes.  
  2051.  
  2052.          `LhA  -U32768  a bar.lzh *.c' will do the same as the example
  2053.          above, but with a update interval of 32768 bytes (32K).  
  2054.  
  2055.                                      NOTE
  2056.  
  2057.             This  option does currently not affect the update rate
  2058.             of  the  LHA decompression (`-lh5-' compression mode).
  2059.             When  LhA  decompresses  files  with  this compression
  2060.             mode,  the  update  rate  will  be whatever I/O buffer
  2061.             size  is  used  (set with the `-b' option). The reason
  2062.             of   this   behaviour  is  that  the  normal  progress
  2063.             indication would slow down decompression.  
  2064.  
  2065.  
  2066.           The default  update interval is 8192 (8K) bytes for -lh1- and
  2067.        -lh5-  compression  and 4096 (4K) bytes for -lh1- decompression.
  2068.        The  update  rate  for  -lh5- decompression is determined by the
  2069.        I/O buffer size setting (see note above).  
  2070.  
  2071.        2.5.39 `-v' (add) Set compression speed   
  2072.  
  2073.           This option   can   be  used  to  increase  or  decrease  the
  2074.        compression  speed.  -v0 is the slowest, and -v9 is the fastest.
  2075.        As  usual  you  can't  get  anything  for  free,  so compression
  2076.        performance  is  slightly  looser with -v9 than with -v0 but the
  2077.        difference  in  speed  can  be significant (especially with some
  2078.        binary  graphics  data). Higher compression speed is attained by
  2079.        using less statistics in the compression phase.  
  2080.  
  2081.           The default  compression  speed  is  5  -  best in 99% of all
  2082.        cases.  
  2083.  
  2084.        2.5.40 `-V' (all) Enable multi-volume archives.   
  2085.  
  2086.           This option  enables  the  multi-volume  feature of LhA. Note
  2087.        that  in  the  evaluation  version  you  cannot create or update
  2088.        multivolume   archives,  only  extract  from  and  list.  Please
  2089.        consult   the  section  about  multi-volume  archives  for  more
  2090.        information.  Further  options must be separated from the `V' by
  2091.        at  least  one  whitespace character. In the registered version,
  2092.        the  desired volume size in KB should be specified after the `V'
  2093.        character.   If you want LhA to automatically detect what volume
  2094.        size it should use, use `-Va' (for `use all available space').  
  2095.  
  2096.         EXAMPLE 
  2097.          `LhA  -Va  a  df0:MyArc  *.c'  would archive all files in the
  2098.  
  2099.  
  2100.      
  2101.  
  2102.  
  2103.      V1.32e                   LhA User's Guide                  Page 35
  2104.  
  2105.  
  2106.          current  directory  with  names ending in `.c' to DF0: if the
  2107.          disk  should get full before the archive is finished LhA will
  2108.          prompt for a new disk to be inserted.  
  2109.  
  2110.           This option is OFF by default.  
  2111.  
  2112.        2.5.41 `-w' (upd) Set work directory   
  2113.  
  2114.           This option  is used to specify what directory LhA should use
  2115.        to  store  temporary  files.  Temporary  files  are created when
  2116.        adding  files  to  archives, or when updating an archive in some
  2117.        way  (like  deleting  or  freshening  files). The work directory
  2118.        name must be specified immediately after the `-w' string.  
  2119.  
  2120.         EXAMPLE 
  2121.          `LhA   -wrad:tmp  a  MyArc.lzh  *'  will  use  the  directory
  2122.          `rad:tmp'  as  temporary  storage  location  when  adding all
  2123.          files in the current directory to the archive `MyArc.lzh'.  
  2124.  
  2125.           By default  LhA  uses the `T:' directory for temporary files,
  2126.        if  this  assign  or  device  does  not  exist, LhA will use the
  2127.        current directory.  
  2128.  
  2129.        2.5.42 `-W' (add) Exclude filenames    
  2130.  
  2131.           This option is not available in the current version.  
  2132.  
  2133.        2.5.43 `-x' (all) Preserve and use pathnames  
  2134.  
  2135.           As of  LhA  V1.30,  this option comes in three flavors, which
  2136.        mode  LhA  will  use  depends on the digit (if any) that follows
  2137.        the `x'.  
  2138.  
  2139.           `-x1' or  `-x': When this option is enabled, LhA will use and
  2140.        preserve  pathnames  when  extracting  and archiving files. When
  2141.        extracting,  LhA  will  create  the  directories  that  does not
  2142.        already  exist.  Use  this option when you want to preserve some
  2143.        directory  structure.  This option is automatically enabled when
  2144.        the `-r' option is used.  
  2145.  
  2146.           `-x2': In  this  mode,  which is only useful with the extract
  2147.        commands,  LhA  will  use  the  full  paths  of the files in the
  2148.        archive  when  selecting  files  to  extract, but disregard them
  2149.        when  extracting.  Useful  when  several  files  with  the  same
  2150.        filename (but different paths) exists in the archive.  
  2151.  
  2152.           `-x3': This  mode  is  the  opposite of `-x2'. LhA disregards
  2153.        paths  when  selecting  files  to  extract,  but  uses them when
  2154.        extracting.  Useful  when  you're too lazy to remember the exact
  2155.        name including path.  
  2156.  
  2157.         EXAMPLE 
  2158.  
  2159.  
  2160.      
  2161.  
  2162.  
  2163.      V1.32e                   LhA User's Guide                  Page 36
  2164.  
  2165.  
  2166.  
  2167.          `LhA  -x2  e  dl:rexx.lzh examples/Main.c ram:' would extract
  2168.          the    file    `examples/Main.c'    from   the   archive   to
  2169.          `ram:Main.c'.  
  2170.  
  2171.          `LhA  -x3 e dl:src.lzh #?Main#? ram:' would extract all files
  2172.          with  names  containing  `Main'.  Notice  that  this  is  not
  2173.          equivalent  to the `LhA x dl:src.lzh #?Main#? ram:' since the
  2174.          latter  would  extract  files  like  `dir/Maindir/file1.h' as
  2175.          well.  
  2176.  
  2177.  
  2178.           This option   is  disabled  (`-x0')  by  default  for  update
  2179.        operations   and   enabled   (`-x1')   by  default  for  extract
  2180.        operations.  
  2181.  
  2182.        2.5.44 `-X' (ALL) Do not append suffix  
  2183.  
  2184.           When this  option  is  enabled, LhA will not append an `.lzh'
  2185.        or  `.lha'  suffix  to  the  given  archive  name.   The default
  2186.        behaviour  is  to append a suffix of `.lha' or `.lzh' (suffix is
  2187.        chosen  depending  on  compression  mode)  if  the name does not
  2188.        already have an extension.  
  2189.  
  2190.           This option is OFF by default (suffixes are appended).  
  2191.  
  2192.        2.5.45 `-y' (all) Always append suffix   
  2193.  
  2194.           When this  option is enabled, LhA will always append a `.lzh'
  2195.        or  `.lha'  suffix  to  the  archive name, even when the archive
  2196.        name already contains a suffix.  
  2197.  
  2198.           This option  is  OFF by default (a suffix is appended only if
  2199.        there is no suffix in the archive name already).  
  2200.  
  2201.        2.5.46 `-Y' (add) Store big files with ratio 
  2202.  
  2203.           When this  option  is  enabled,  LhA  will  store  big  files
  2204.        (>32KB)  without  compression if compression ratio is lower than
  2205.        3%.  This is because extraction times of these files are long on
  2206.        slower machines.  
  2207.  
  2208.           This option is OFF by default (all files are compressed).  
  2209.  
  2210.        2.5.47 `-z' (add) Do not compress files  
  2211.  
  2212.           This option,  when  active,  will  force  LhA  to  store  all
  2213.        updated  or  added  files  in  the archive without attempting to
  2214.        compress  them.   Useful  for  making fast backups where archive
  2215.        size  is  of  no  importance.   It  is not advisable to use this
  2216.        option  when  making  archives  for  distribution  via  modem or
  2217.        networks  since  the  archive will end up much larger than if it
  2218.  
  2219.  
  2220.      
  2221.  
  2222.  
  2223.      V1.32e                   LhA User's Guide                  Page 37
  2224.  
  2225.  
  2226.        was compressed.  
  2227.  
  2228.         EXAMPLE 
  2229.          `lha  -z a foo.lha *.bmp' Will store all files in the current
  2230.          directory  with  a  suffix  of  `.bmp'  in  the  archive file
  2231.          `foo.lha' without compressing them.  
  2232.  
  2233.           This option is OFF by default.  
  2234.  
  2235.        2.5.48 `-Z' (add) Compress archives    
  2236.  
  2237.           This option  will  cause  LhA  to attempt compressing already
  2238.        compressed files.  
  2239.  
  2240.           By default,  LhA will not attempt to compress files which are
  2241.        already  compressed (typically archive files or picture files in
  2242.        GIF  or  JPEG  format).  The  file  type  is determined from the
  2243.        suffix,  and  files with names ending in `.lzh', `.lha', `.zoo',
  2244.        `.zip',  `arj',  `.arc', `.dms', `.wrp', `.lhw', `.zap', `.pak',
  2245.        `.pp', `.gif', or `.jpg'.  
  2246.  
  2247.           The reason   why  already  compressed  files  should  not  be
  2248.        compressed  is  that  the  number  of bytes gained by this is so
  2249.        small    that    it    is    not    worth    the    time   spent
  2250.        compressing/decompressing it.  
  2251.  
  2252.           This option is OFF by default.  
  2253.  
  2254.        2.5.49 `-0' (add) Use LhArc 1.x compression  
  2255.  
  2256.           This option  causes  LhA  to  use  the  old -lh1- compression
  2257.        method  when  updating  archives.  This  compression  method  is
  2258.        slightly  faster  than  the  normal  -lh5-  compression  but has
  2259.        looser compression and is much slower to decompress.  
  2260.  
  2261.           When this   compression   mode   is  used,  LhA  defaults  to
  2262.        appending a suffix of `.lzh' when creating archives.  
  2263.  
  2264.           When this  option  is specified, option `-2' is automatically
  2265.        deactivated.  
  2266.  
  2267.           By default the -lh5- compression is used.  
  2268.  
  2269.        2.5.50 `-1' (add) Use LhA compression (-lh4-)  
  2270.  
  2271.           This option  causes  LhA  to  use  the  new -lh4- compression
  2272.        method  when  updating  archives.  This  compression  method  is
  2273.        slightly  faster  than  the  -lh5-  compression  but  has looser
  2274.        compression and is generally slightly slower to decompress.  
  2275.  
  2276.           When this   compression   mode   is  used,  LhA  defaults  to
  2277.        appending a suffix of `.lha' when creating archives.  
  2278.  
  2279.  
  2280.      
  2281.  
  2282.  
  2283.      V1.32e                   LhA User's Guide                  Page 38
  2284.  
  2285.  
  2286.        2.5.51 `-2' (add) Use LhA compression (-lh5-)  
  2287.  
  2288.           This option  causes  LhA  to  use  the  new -lh5- compression
  2289.        method  when  updating  archives.  This  compression  method  is
  2290.        slightly  slower  than the old -lh1- compression but has tighter
  2291.        compression and is much faster to decompress.  
  2292.  
  2293.           When this   compression   mode   is  used,  LhA  defaults  to
  2294.        appending a suffix of `.lha' when creating archives.  
  2295.  
  2296.           When this  option  is specified, option `-0' is automatically
  2297.        deactivated.  
  2298.  
  2299.           This is the default compression mode.  
  2300.  
  2301.        2.5.52 `-Qa' (all) Use simple console I/O  
  2302.  
  2303.           When this  option is enabled LhA will not try to do any fancy
  2304.        stuff  like examining the size of the console window, or turning
  2305.        off  or  repositioning  the  cursor.  Enabling  this option also
  2306.        disables  the  byte  progress  indicator (like with `-n'), since
  2307.        this requires cursor repositioning.  
  2308.  
  2309.           This option is OFF by default.  
  2310.  
  2311.        2.5.53 `-Qb' (ext) Test archive before extract  
  2312.  
  2313.           When this  switch  is  enabled  LhA  will  test  an archive's
  2314.        integrity  before extracting. If the archive fails the integrity
  2315.        check, the archive is not extracted from.  
  2316.  
  2317.           This option is OFF by default.  
  2318.  
  2319.        2.5.54 `-Qd' (ext) Delete autoshow files   
  2320.  
  2321.           When this  option  is  enabled LhA will delete autoshow files
  2322.        after displaying them.  
  2323.  
  2324.           This option is OFF by default.  
  2325.  
  2326.        2.5.55 `-Qh' (add) Set Huffman buffer size  
  2327.  
  2328.           This option  can  be  used to set the size of the buffer used
  2329.        in  LHA  compression  (default or selected with the `-2' or `-1'
  2330.        options)  for  collecting  statistics.  The  size of this buffer
  2331.        affects  the compression ratio in unpredictable ways (you cannot
  2332.        tell  with  certainty  whether  a large buffer will be better or
  2333.        worse).  As a general rule, keep this at the default, but if you
  2334.        are   compressing   homogenous  data  with  a  relatively  fixed
  2335.        relative  frequency  of  symbols (like text files), setting this
  2336.        to  a  large value will improve compression.  Binaries generally
  2337.        compress best with the default setting.  
  2338.  
  2339.  
  2340.      
  2341.  
  2342.  
  2343.      V1.32e                   LhA User's Guide                  Page 39
  2344.  
  2345.  
  2346.  
  2347.           The Huffman  buffer may be of any size between 4K and 64K and
  2348.        must  be  specified  immediately  following the `-Qh' string, in
  2349.        kilobytes.  
  2350.  
  2351.         EXAMPLE 
  2352.  
  2353.          `LhA  -Qh32  -2  a  foo.lha *' will compress all files in the
  2354.          current  directory using a Huffman buffer size of 32768 (32K)
  2355.          bytes.  
  2356.  
  2357.          `LhA  -Qh4  -2  a  foo.lha  *' will compress all files in the
  2358.          current  directory  using  a Huffman buffer size of 4096 (4K)
  2359.          bytes.  
  2360.  
  2361.           The default Huffman buffer size is 16K.  
  2362.  
  2363.        2.5.56 `-Qn' (all) Set national character mode  
  2364.  
  2365.           When this  option  is  enabled,  LhA  will  correctly convert
  2366.        national  characters to upper/lowercase. By default LhA does not
  2367.        convert  any  characters  with  the MSB set due to the fact that
  2368.        older  (pre-2.1)  filesystems does not correctly handle national
  2369.        characters  when  computing  hash  values. This switch should be
  2370.        used when national filesystems are used (NOFS/NFFS).  
  2371.  
  2372.           This option is OFF by default.  
  2373.  
  2374.        2.5.57 `-Qo' (all) Ignore options after command  
  2375.  
  2376.           When this  option  is enabled LhA will not search the command
  2377.        line  for options beyond the archive name. This option is useful
  2378.        if you need to specify files with names beginning in `-'.  
  2379.  
  2380.           This option is OFF by default.  
  2381.  
  2382.        2.5.58 `-Qp' (move) Ignore delete protection flag  
  2383.  
  2384.           When you  enable  this  option LhA will delete files with the
  2385.        delete protection flag set when using the `m' (move) command.  
  2386.  
  2387.           This option  is  OFF  by  default (delete protected files are
  2388.        not deleted).  
  2389.  
  2390.        2.5.59 `-Qq' (add) Quick add    
  2391.  
  2392.           This option is not properly implemented in this release.  
  2393.  
  2394.        2.5.60 `-Qr' (add) Skip datestamp check   
  2395.  
  2396.           This option,  when  on, disables the datestamp comparison for
  2397.        the  update  (`u') and freshen (`f') commands, so that the files
  2398.  
  2399.  
  2400.      
  2401.  
  2402.  
  2403.      V1.32e                   LhA User's Guide                  Page 40
  2404.  
  2405.  
  2406.        that  already  exist  in the archive will be replaced regardless
  2407.        of file modification dates.  
  2408.  
  2409.           This option is OFF by default for all commands but `r'.  
  2410.  
  2411.        2.5.61 `-Qw' (all) Disable wildcards    
  2412.  
  2413.           When you  specify  this  option  LhA will not do any wildcard
  2414.        matching.  This  is useful for adding files with (illegal) names
  2415.        containing wildcard characters (`()#?~%|*').  
  2416.  
  2417.           This option is OFF by default.  
  2418.  
  2419.        2.6 Autoshow files      
  2420.  
  2421.           Autoshow files  are files that are displayed automatically to
  2422.        the   user  when  extracting  the  file  from  an  archive.  LhA
  2423.        determines  if  a  file  should  be  displayed by looking at the
  2424.        filename;  if the filename ends in `.displayme' then the file is
  2425.        displayed  unless  autoshow  files  have been disabled (with the
  2426.        `-M'  option).  Apart  from  being displayed on-screen, autoshow
  2427.        files  are  extracted  just like normal files, without stripping
  2428.        off the `.displayme' part (AmigaDOS LhArc 1.30 does this).  
  2429.  
  2430.        2.7 Residentability       
  2431.  
  2432.           LhA is  multitasking  reentrant  and pure, and it can be made
  2433.        resident  with the standard shell resident commands - `resident'
  2434.        under  AmigaShell  1.3  and 2.0, and `resi' under WShell. If you
  2435.        use  another  shell, please refer to the shell's user manual for
  2436.        information about how to make programs resident.  
  2437.  
  2438.        2.8 Multi-volume archives      
  2439.  
  2440.           Multi-volume archives  are  created  simply  by  splitting  a
  2441.        larger  archive  into smaller files. The evaluation version does
  2442.        not  do  this  automatically  on  the  fly  (but  the registered
  2443.        version  does),  so  you  will need to do it manually unless you
  2444.        register.  
  2445.  
  2446.           The source  for  two  utilities  used  to  create multivolume
  2447.        archives  are  included in the distribution archive. If you have
  2448.        access  to a C compiler you can compile the (hopefully) portable
  2449.        `splitlzh'  and  `joinlzh' programs simply by entering `make' in
  2450.        the  `unixutil'  directory.  These  two programs are useful when
  2451.        transferring big archives to and from **IX systems.  
  2452.  
  2453.        2.8.1 Multivolume file names     
  2454.  
  2455.           The first  file  of a multivolume archive is named `name.lha'
  2456.        or  `name.lzh'.   The  following  volumes  are named `name.l01',
  2457.        `name.l02'  and  so  on. Multivolume archives spanning more than
  2458.  
  2459.  
  2460.      
  2461.  
  2462.  
  2463.      V1.32e                   LhA User's Guide                  Page 41
  2464.  
  2465.  
  2466.        100 volumes are not currently supported.  
  2467.  
  2468.        2.9 A bit about headers    
  2469.  
  2470.           A `header'  has  to  be written to the archive for every file
  2471.        in  order  for  the  archiver to know what the files are called,
  2472.        how  they  were  compressed  etc.  The original LhArc had a very
  2473.        primitive  header  layout  and  had  no  good way of storing any
  2474.        machine-specific  info like filenotes (I created a workaround in
  2475.        LhArcA  0.99,  by  putting  the filenote in the filename field -
  2476.        LhArc  and  LZ  later  adopted this method). In **IX LhArc V1.02
  2477.        the  authors  introduced  a  new type of header (level 1 header)
  2478.        that  allowed  slightly  more  info to be stored, but the header
  2479.        length  was still limited to 255 bytes. In LHA 2.13 for MS-DOS a
  2480.        new  header  type  was  introduced  - level 2 headers. With this
  2481.        latest  header  type  an  arbitrary amount of information can be
  2482.        stored.  LhA  can both read and write all these header types. To
  2483.        select  what  type of headers to write, use the `-H' option. LHA
  2484.        for  MSDOS  and LHa for **IX creates level-1 headers by default.
  2485.        LhA  uses  level  0 headers by default for compatibility reasons
  2486.        (LZ  and  LhArc  does  not  handle  level  1 and level 2 headers
  2487.        correctly).  If  you  want to know what header levels an archive
  2488.        contains, use the `vv' command.  
  2489.  
  2490.        2.10 Some tips for archiving efficiently   
  2491.  
  2492.           If you  are  going to archive a big bunch of similar or small
  2493.        files  -  text  files  for example - you can improve compression
  2494.        performance   greatly  by  first  creating  an  archive  WITHOUT
  2495.        compression  (using  the `-z' option), and then add this file to
  2496.        archive  (with  compression).  As  an  example  I  added  a  big
  2497.        directory  with  various  sources  and some binaries (total 2480
  2498.        files, 5102117 bytes).  this way with: 
  2499.  
  2500.        LhA -z -r a hd:test msrc: 
  2501.  
  2502.        and then compressed it with 
  2503.  
  2504.        LhA -Z -Qh64 a hd:msrc hd:test.lha 
  2505.  
  2506.        The  final  `hd:msrc.lha'  archive ended up being 1545076 bytes.
  2507.        When  compressed  the  normal  way  (`LhA  -r  -Qh64  a  hd:msrc
  2508.        msrc:'),   the   archive   was   2114777  bytes  long.  Quite  a
  2509.        difference..  
  2510.  
  2511.        2.11 Using as little memory as possible  
  2512.  
  2513.           When using  the default settings, LhA requires about 300KB to
  2514.        archive,  and  180KB  to  extract  files.  To  reduce  this to a
  2515.        minimum  you  can  reduce  the  I/O buffer size to 8K. This will
  2516.        save  you  about  48K  when  archiving  and  at  least  24K when
  2517.        extracting.  You can reduce the archiving memory usage even more
  2518.  
  2519.  
  2520.      
  2521.  
  2522.  
  2523.      V1.32e                   LhA User's Guide                  Page 42
  2524.  
  2525.  
  2526.        by  reducing  the  Huffman  buffer  size  to  4K,  but it is not
  2527.        recommended    since    compression    performance   will   drop
  2528.        significantly.  Please  note  that  the above figures for memory
  2529.        usage includes stack and program code.  
  2530.  
  2531.        2.12 Creating fully MS-DOS compatible archives   
  2532.  
  2533.           In order  to satisfy MSDOS archivers, you may have to disable
  2534.        a  few  Amiga-specific  features.  Filenotes  are  not supported
  2535.        under  MSDOS  and thus the filenote archiving should be disabled
  2536.        with  the  `-f'  option.   Furthermore  you  should disable file
  2537.        attribute  preservation with the `-a' option. Autoshow files are
  2538.        not  supported  by MSDOS LHA V2.13. If you use header level 1 or
  2539.        2  you  don't  have  to worry about disabling the file attribute
  2540.        preservation.  LHA V2.13 for MSDOS and LHa 0.04 for **IX creates
  2541.        level 1 headers by default.  
  2542.  
  2543.        2.13 Recovering data from corrupt archives   
  2544.  
  2545.           It is  never possible to recover all lost data from a corrupt
  2546.        archive,  but you can retrieve as much data as possible by using
  2547.        the  `-k'  option  and a small I/O buffer (8K). An example would
  2548.        be: 
  2549.  
  2550.  
  2551.           LhA -k x dl:Corrupt ram: 
  2552.  
  2553.  
  2554.           This would  extract  as  much  as  possible  from the corrupt
  2555.        archive to `ram:'.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.      
  2581.  
  2582.  
  2583.      V1.32e                   LhA User's Guide                  Page 43
  2584.  
  2585.  
  2586.        4 Politics       
  2587.  
  2588.        4.1 Registration       
  2589.  
  2590.           LhA is  a copyrighted product that has been made available to
  2591.        you  under  the  concept of "Shareware".  It has never been, nor
  2592.        will  it  ever  be  in  the  "Public Domain".  You are granted a
  2593.        limited  license in order to evaluate these programs.  If, after
  2594.        a  3  or  4  week  period of evaluation, you find that LhA suits
  2595.        your  archiving  needs,  please  register.   By cooperating with
  2596.        this  concept  you  help to ensure continued development of this
  2597.        product.  
  2598.  
  2599.           Registered users  will  be  shipped  a  disk  with the latest
  2600.        release  version  of  LhA together with a keyfile. This keyfile,
  2601.        once   copied   to  your  system,  will  disable  the  ShareWare
  2602.        reminders  that always open when you start or quit the Intuition
  2603.        driven  programs  in the LhA family. The registered-user version
  2604.        of  LhA  has all the features of the evaluation version, as well
  2605.        as several additional commands, options and features.  
  2606.  
  2607.           Site license  information  for  commercial and government use
  2608.        can be obtained directly from the author.  
  2609.  
  2610.           No person(s)   or   businesses  other  than  the  author  are
  2611.        authorized  to  accept  any registration or distribution fees in
  2612.        any  form  whatsoever,  except  as specified by the author.  The
  2613.        only  people  who will be regarded as registered users are those
  2614.        who have sent SEK 100, US, 20 IRC's or more to: 
  2615.  
  2616.                                 Stefan Boberg
  2617.                               Rydsvägen 242 A:25
  2618.                               S-58251 Linköping
  2619.                                Sweden / Europe
  2620.  
  2621.  
  2622.           For residents  in  Sweden,  the  easiest  and cheapest way of
  2623.        transferring  money to the author is by `PostGiro' # 629 22 84-4
  2624.        .   This  only costs 8 crowns and you can write the registration
  2625.        info  on  the  giro-form.   The  cheapest and easiest (and quite
  2626.        safe)  way  for  foreign residents is probably to send a US bill
  2627.        or  a  100SEK (Swedish Crowns) bill in an envelope together with
  2628.        the  registration  form.  This  has  worked  fine  so  far and I
  2629.        haven't  heard  from  a  single user who lost their money in the
  2630.        mail.  If  you  don't want to do this, you can also use a postal
  2631.        money  order  (PMO),  about  which  your  local  post office can
  2632.        provide  you  with  details about. Beware that this can be quite
  2633.        expensive depending on where you live.  
  2634.  
  2635.           Should the  above  not  work out satisfyingly, you can either
  2636.        send  a EuroCheque payable to Stefan Boberg in Swedish Crowns or
  2637.        have  your  bank  transfer  the registration fee to the "Svenska
  2638.  
  2639.  
  2640.      
  2641.  
  2642.  
  2643.      V1.32e                   LhA User's Guide                  Page 44
  2644.  
  2645.  
  2646.        Handelsbanken"  account  145.587.932  "Stefan  Boberg".  Beware:
  2647.        International  transfers  via  banks  are  very  expensive. Bank
  2648.        drafts  can  *NOT*  accepted  as payement since the bank charges
  2649.        outrageous  fees  (about  US)  from  both  the  sender  and  the
  2650.        receiver. The same applies to private cheques.  
  2651.  
  2652.           In any  case,  be sure to provide me with your name, address,
  2653.        fido-nodenumber/InterNet  address  for  filing purposes. You can
  2654.        send  this information via electronic mail, if you wish.  If you
  2655.        don't   mind,   this  data  will  be  stored  and  processed  in
  2656.        electronic  form.   There  is a sample registration form you can
  2657.        fill in in the file "OrderForm".  
  2658.  
  2659.           Please allow  two  to  eight  weeks for delivery. Usually you
  2660.        will  be  sent  your registered version right away, but if a new
  2661.        version  is  near  completion,  I  will  wait  until it has been
  2662.        finished  unless  you explicitly tell me to send a version right
  2663.        away.  
  2664.  
  2665.        4.2 Distribution       
  2666.  
  2667.           Basically, the  evaluation  version of LhA may be distributed
  2668.        freely as long as the following conditions are met: 
  2669.  
  2670.           The distributor  may  only  charge  a  fee up to the costs of
  2671.        obtaining   a  public  domain  diskette  from  Fred  Fish.   The
  2672.        distributor  agrees  to cease distributing the programs and data
  2673.        involved  if  requested to do so by the author.  The distributor
  2674.        may  only distribute an unmodified copy of the original program,
  2675.        with  all  the supplied documentation and copyright notices left
  2676.        intact.  
  2677.  
  2678.           For more details, see the chapter called "License".  
  2679.  
  2680.        4.3 Support       
  2681.  
  2682.           If you  have  any  suggestions,  bug  reports  or  questions,
  2683.        please  contact  the  author  of  LhA  at  the  address given in
  2684.        section 4.1 or at one of the electronic mail addresses below: 
  2685.  
  2686.                  InterNet: boberg@lysator.liu.se 
  2687.                  or      : lha@augs.se 
  2688.                  or      : stefan_boberg@augs.se 
  2689.  
  2690.                  FIDONet : "Stefan Boberg" at node 2:204/404 
  2691.  
  2692.           When sending  in bug reports, please state exactly under what
  2693.        circumstances  the  bug  occurred,  what  equipment was used and
  2694.        what   happened.   If  possible  also  try  to  give  me  enough
  2695.        information  to reproduce the bug.  It is very difficult to find
  2696.        bugs  when  you  don't know exactly what happened.  Please don't
  2697.        just  send  messages  like "it can't extract files from archives
  2698.  
  2699.  
  2700.      
  2701.  
  2702.  
  2703.      V1.32e                   LhA User's Guide                  Page 45
  2704.  
  2705.  
  2706.        sometimes",  that  really  doesn't help me.  If possible, submit
  2707.        the  offending  file/archive  to  me so I can test it myself, or
  2708.        give me a pointer where I can find the archive.  
  2709.  
  2710.        4.4 Program availability      
  2711.  
  2712.           The latest  version  of LhA is always available for anonymous
  2713.        FTP  at  lysator.liu.se,  in  `/pub/amiga/LhAEval.run' - it is a
  2714.        self-extracting  archive  that  should  be  executed from CLI or
  2715.        WB2.0  to  extract  the contents.  It will also be available for
  2716.        FidoNet  FReq  from  AUGS  BBS  in  Linköping, Sweden, under the
  2717.        magic filename `LHA', the Fido node number is 2:204.404.  
  2718.  
  2719.        4.5 License       
  2720.  
  2721.        1.  This  license  applies to the product called "LhA", a set of
  2722.           programs  for  the  Commodore-Amiga  computer,  published  by
  2723.           Stefan  Boberg  under  the  concepts  of  ShareWare,  and the
  2724.           accompanying  documentation,  example files and anything else
  2725.           that   comes   with  the  original  distribution.  The  terms
  2726.           "Programs"  and  "LhA"  below,  refer  to  this product.  The
  2727.           licensee is addressed as "you".  
  2728.  
  2729.        2.  You   may   copy  and  distribute  verbatim  copies  of  the
  2730.           programs'  executable  code  and documentation as you receive
  2731.           it,  in  any  medium,  provided  that  you  conspicuosly  and
  2732.           appropriately   publish   only   the   original,   unmodified
  2733.           programs,  with  all  copyright  notices  and  disclaimers of
  2734.           warranty   intact   and   including   all   the  accompanying
  2735.           documentation,  example  files  and  anything  else that came
  2736.           with the original.  
  2737.  
  2738.        3.  You  may  not  copy and/or distribute these programs without
  2739.           the  accompanying  documentation  and  other additional files
  2740.           that  came  with  the  original.   You  may  not  copy and/or
  2741.           distribute modified versions of these programs.  
  2742.  
  2743.        4.  You   may   not  copy,  modify,  sublicense,  distribute  or
  2744.           transfer  the  programs  except  as  expressly provided under
  2745.           this   license.   Any  attempt  otherwise  to  copy,  modify,
  2746.           sublicense,  distribute or transfer the programs is void, and
  2747.           will  automatically terminate your rights to use the programs
  2748.           under  this  license.   However,  parties  who  have received
  2749.           copies,  or rights to use copies, from you under this license
  2750.           will  not  have  their  licenses  terminated  so long as such
  2751.           parties remain in full compliance.  
  2752.  
  2753.        5.  By  copying,  distributing  and/or  using  the  programs you
  2754.           indicate  your  acceptance  of this license to do so, and all
  2755.           its terms and conditions.  
  2756.  
  2757.        6.  Each  time  you  redistribute  the  programs,  the recipient
  2758.  
  2759.  
  2760.      
  2761.  
  2762.  
  2763.      V1.32e                   LhA User's Guide                  Page 46
  2764.  
  2765.  
  2766.           automatically  receives  a license from the original licensor
  2767.           to  copy, distribute and/or use the programs subject to these
  2768.           terms  and  conditions.   You  may  not  impose  any  further
  2769.           restrictions  on  the  recipients'  exercise  of  the  rights
  2770.           granted herein.  
  2771.  
  2772.        7.  You  may  not disassemble, decompile, re-source or otherwise
  2773.           reverse engineer the programs.  
  2774.  
  2775.        8.  You  may  use the programs for a period of up to 30 days for
  2776.           evaluation.  After that, you have to register.  
  2777.  
  2778.        9.  If  you wish to incorporate parts of the programs into other
  2779.           programs, write to the author to ask for permission.  
  2780.  
  2781.        10.  You  agree  to  cease  distributing  the  programs and data
  2782.           involved if requested to do so by author.  
  2783.  
  2784.        11.  You  may  charge  a fee to recover distribution costs.  The
  2785.           fee  for  diskette distribution may not be more than the cost
  2786.           to obtain a public domain diskette from Fred Fish.  
  2787.  
  2788.  
  2789.        4.6 Disclaimer       
  2790.  
  2791.           THERE IS   NO  WARRANTY  FOR  THE  PROGRAMS,  TO  THE  EXTENT
  2792.        PERMITTED  BY  APPLICABLE  LAW.  EXCEPT WHEN OTHERWISE STATED IN
  2793.        WRITING  THE  COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
  2794.        PROGRAMS  "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  2795.        OR   IMPLIED,   INCLUDING,  BUT  NOT  LIMITED  TO,  THE  IMPLIED
  2796.        WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A PARTICULAR
  2797.        PURPOSE.   THE  ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
  2798.        THE  PROGRAMS IS WITH YOU.  SHOULD THE PROGRAMS PROVE DEFECTIVE,
  2799.        YOU  ASSUME  THE  COST  OF  ALL  NECESSARY  SERVICING, REPAIR OR
  2800.        CORRECTION.  
  2801.  
  2802.           IN NO  EVENT  UNLESS  REQUIRED BY APPLICABLE LAW OR AGREED TO
  2803.        IN  WRITING  WILL  ANY  COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
  2804.        MAY  REDISTRIBUTE  THE PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO
  2805.        YOU  FOR  DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
  2806.        CONSEQUENTIAL  DAMAGES  ARISING  OUT  OF THE USE OR INABILITY TO
  2807.        USE  THE  PROGRAMS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  2808.        DATA  BEING  RENDERED  INACCURATE  OR LOSSES SUSTAINED BY YOU OR
  2809.        THIRD  PARTIES  OR A FAILURE OF THE PROGRAMS TO OPERATE WITH ANY
  2810.        OTHER  PROGRAMS),  EVEN  IF  SUCH HOLDER OR OTHER PARTY HAS BEEN
  2811.        ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.      
  2821.  
  2822.  
  2823.      V1.32e                   LhA User's Guide                  Page 47
  2824.  
  2825.  
  2826.        5 Acknowledgements       
  2827.  
  2828.        Haruyasu Yoshizaki  For releasing the source of the original LHA
  2829.                             for  MSDOS.   The  source  was  used  as  a
  2830.                             reference  when  writing  this  program. No
  2831.                             actual  code  was  copied from this source,
  2832.                             rather  LhA  was  written  from scratch for
  2833.                             the Amiga.  
  2834.  
  2835.        Haruhiko Okumura  For  devising  the -lh5- and -lh4- compression
  2836.                             algorithms,  and for releasing the C source
  2837.                             for  these  to  the  public  domain.  These
  2838.                             sources  were  used  as  a  reference  when
  2839.                             writing  the  680x0  assembler  versions of
  2840.                             the   compression  code.   Some  algorithms
  2841.                             were  replaced with my own, faster ones but
  2842.                             the ideas are the same.  
  2843.  
  2844.        Robert K.Jung  For making the feature-packed ARJ for MSDOS, from
  2845.                             which   several   ideas  for  commands  and
  2846.                             features for LhA were taken.  
  2847.  
  2848.        Paolo Zibetti  For making the first LhArc-style archiver for the
  2849.                             Amiga,  which  made  me  interested in file
  2850.                             archivers    and    more    advanced   data
  2851.                             compression techniques.  
  2852.  
  2853.        Ron Birk  For  digging  out  the  source codes I needed before I
  2854.                             gained access to InterNet myself - Thanks! 
  2855.  
  2856.        Martin Olsson  For  supplying  me with the source for LhA V2.11,
  2857.                             which  was  used  as  a reference. (I wrote
  2858.                             the   -lh5-  decompression  with  only  the
  2859.                             80x86 source available.. hard work!) 
  2860.  
  2861.        LhArcA users  Big thanks to all of you who registered for LhArcA
  2862.                             and  LhA  even  before  the  programs  were
  2863.                             finished  (LhArcA  never was, but those who
  2864.                             registered  will  receive LhI/LhA when it's
  2865.                             finished).  
  2866.  
  2867.        LhA users  Big  thanks  to  all  who registered so far, and even
  2868.                             bigger  thanks  to  those who reported bugs
  2869.                             and  problems  with the previous releases -
  2870.                             without  you  this  program  would never be
  2871.                             what it is now.  
  2872.  
  2873.  
  2874.           The license  agreement  was  heavily inspired by the TrapDoor
  2875.        license,  which in turn was inspired by Jack Radigan and the GNU
  2876.        General public License.  
  2877.  
  2878.  
  2879.  
  2880.      
  2881.  
  2882.  
  2883.      V1.32e                   LhA User's Guide                  Page 48
  2884.  
  2885.  
  2886.           The manual  was  formatted with a modified version of `proff'
  2887.        (originally  written  for  VAX/VMS/MSDOS  by  Ozan S.  Yigit and
  2888.        Steven Tress).  
  2889.  
  2890.           The program  was  developed  using the Lattice C Compiler and
  2891.        Assembler   on   a  25MHz  Amiga  3000.  Great  compiler,  great
  2892.        computer!  Furthermore  RCS  and  MKID were used to simplify the
  2893.        maintenance and development process greatly.  
  2894.  
  2895.           Inspiration provided  (in  order  of  significance)  by Emma,
  2896.        Linda,  Depeche  Mode,  Recoil,  Pet  Shop  Boys,  Erasure, OMD,
  2897.        Electronic,  The  KLF/JAMS, Yazoo, Tears for Fears, Simple Minds
  2898.        and Kraftwerk!! 
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.                     ... Per aspera ad astra ...  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.      
  2941.  
  2942.  
  2943.      
  2944.  
  2945.  
  2946.                               Table Of Contents
  2947.  
  2948.                                   LhA V1.32
  2949.  
  2950.        1 - Introduction     .....................................    1
  2951.           1.1 About the manual    ...............................    1
  2952.           1.2 System requirements     ...........................    1
  2953.           1.4 Terminology      ..................................    1
  2954.           1.5 LhA - what is it?  ................................    2
  2955.           1.6 What is a file archiver anyway? ...................    2
  2956.           1.8 Compatibility and Amiga-specific features   .......    4
  2957.           1.9 About the author program history and future........    4
  2958.        2 Reference guide     ....................................    5
  2959.           2.1 Command line syntax    ............................    5
  2960.              2.1.1 Specifying options     .......................    5
  2961.              2.1.2 Specifying commands     ......................    5
  2962.              2.1.3 Specifying archives     ......................    5
  2963.              2.1.4 Specifying action files    ...................    6
  2964.              2.1.5 Home directories     .........................    6
  2965.              2.1.6 Recursive file collection    .................    7
  2966.              2.1.7 Specifying destination directory    ..........    9
  2967.              2.1.8 `@'-files      ...............................    9
  2968.              2.1.9 LhA limitations     ..........................    9
  2969.           2.2 Environment variables     .........................   10
  2970.           2.3 Pattern matching     ..............................   11
  2971.              2.3.0 Exactly what is pattern matching anyway? .....   11
  2972.              2.3.1 Accepted pattern tokens    ...................   11
  2973.                 2.3.1.1 Question mark (?)    ....................   11
  2974.                 2.3.1.2 Star/Asterisk (*)     ...................   12
  2975.                 2.3.1.3 Hash mark (#)    ........................   12
  2976.                 2.3.1.4 Square brackets ([])    .................   12
  2977.                 2.3.1.5 Parentheses and the vertical bar  .......   13
  2978.                 2.3.1.6 Tilde (~)     ...........................   14
  2979.                 2.3.1.7 Percent sign (%)    .....................   14
  2980.              2.3.2 KS1.3 ARP and KS2.x pattern matching .........   15
  2981.              2.3.3 National characters     ......................   15
  2982.           2.4 Commands      .....................................   16
  2983.              2.4.1 `a' Add files to archive  ....................   16
  2984.              2.4.3 `d' Delete files from archive  ...............   16
  2985.              2.4.4 `e' Extract files from archive  ..............   17
  2986.              2.4.5 `f' Freshen files in archive  ................   17
  2987.              2.4.8 `l' List archive contents (terse)  ...........   17
  2988.                 2.4.8.1 `lq' List archive (terse-quick)   .......   18
  2989.              2.4.9 `m' Move files to archive  ...................   18
  2990.              2.4.14 `p' Print files to stdout  ..................   19
  2991.              2.4.15 `r' Replace files    ........................   19
  2992.              2.4.17 `t' Test archive integrity   ................   19
  2993.              2.4.18 `u' Update archive    .......................   19
  2994.              2.4.19 `v' List archive (verbose)   ................   20
  2995.                 2.4.19.1 `vq' List archive (verbose-quick)   ....   20
  2996.              2.4.20 `vv' List archive (full)   ..................   20
  2997.              2.4.21 `x' Extract files with path  ................   21
  2998.  
  2999.  
  3000.                                     - I -
  3001.  
  3002.  
  3003.      
  3004.  
  3005.  
  3006.           2.5 Options      ......................................   22
  3007.              2.5.1 `-a' (upx) Preserve file attributes  .........   22
  3008.              2.5.2 `-A' (upd) Set archive attributes  ...........   23
  3009.              2.5.3 `-b' (all) Set I/O buffer size ...............   23
  3010.              2.5.4 `-B' (all) Keep backup of archives ...........   24
  3011.              2.5.5 `-c' (all) Confirm files   ...................   24
  3012.              2.5.6 `-C' (ext) Clear arc-bit on extract ..........   24
  3013.              2.5.6 `-d' (upd) Archive date=newest file  .........   24
  3014.              2.5.8 `-D' (all) Alternate progress display  .......   24
  3015.              2.5.9 `-e' (add) Archive empty directories  ........   25
  3016.              2.5.10 `-E' (ext) Touch extracted files  ...........   25
  3017.              2.5.11 `-f' (all) Ignore filenotes   ...............   25
  3018.              2.5.12 `-F' (all) Use fast progress display ........   26
  3019.              2.5.13 `-g' (add) Garble files with password .......   26
  3020.              2.5.14 `-G' (ext) Only extract newer files .........   26
  3021.              2.5.15 `-h' (add) Disable homedirectories   ........   26
  3022.              2.5.16 `-H' (add) Write header level  ..............   27
  3023.              2.5.17 `-i' (all) Read filelist from file ..........   27
  3024.              2.5.18 `-I' (all) Ignore LHAOPTS variable  .........   28
  3025.              2.5.19 `-k' (all) Keep partial files  ..............   28
  3026.              2.5.20 `-K' (move) Kill empty directories  .........   28
  3027.              2.5.21 `-l' (ALL) Make filenames lowercase  ........   29
  3028.              2.5.22 `-L' (ALL) Create filelist   ................   29
  3029.              2.5.23 `-m' (ALL) No messages for query ............   29
  3030.              2.5.24 `-M' (ext) No autoshow files  ...............   30
  3031.              2.5.25 `-n' (upx) No byte progress indicator .......   30
  3032.              2.5.26 `-N' (all) No progress indicator  ...........   30
  3033.              2.5.27 `-p' (ALL) Pause after loading  .............   30
  3034.              2.5.28 `-P' (ALL) Set task priority  ...............   30
  3035.              2.5.29 `-q' (ALL) Be quiet   .......................   31
  3036.              2.5.30 `-Q' (ALL) Alternate option set  ............   31
  3037.              2.5.31 `-r' (add) Collect action files recursively .   31
  3038.              2.5.32 `-R' (ALL) Collect archive files recursively    32
  3039.              2.5.33 `-s' (add) Add files with a-flag unset.......   32
  3040.              2.5.34 `-S' (add) Set A-flag on archived files......   32
  3041.              2.5.35 `-t' (ext) Only new files  ..................   33
  3042.              2.5.36 `-T' (upx) New and newer files ..............   33
  3043.              2.5.37 `-u' (ALL) Make filenames uppercase  ........   33
  3044.              2.5.38 `-U' (upx) Set update interval  .............   33
  3045.              2.5.39 `-v' (add) Set compression speed  ...........   34
  3046.              2.5.40 `-V' (all) Enable multi-volume archives.  ...   34
  3047.              2.5.41 `-w' (upd) Set work directory  ..............   35
  3048.              2.5.42 `-W' (add) Exclude filenames   ..............   35
  3049.              2.5.43 `-x' (all) Preserve and use pathnames .......   35
  3050.              2.5.44 `-X' (ALL) Do not append suffix .............   36
  3051.              2.5.45 `-y' (all) Always append suffix  ............   36
  3052.              2.5.46 `-Y' (add) Store big files with ratio........   36
  3053.              2.5.47 `-z' (add) Do not compress files ............   36
  3054.              2.5.48 `-Z' (add) Compress archives   ..............   37
  3055.              2.5.49 `-0' (add) Use LhArc 1.x compression ........   37
  3056.              2.5.50 `-1' (add) Use LhA compression (-lh4-) ......   37
  3057.              2.5.51 `-2' (add) Use LhA compression (-lh5-) ......   37
  3058.  
  3059.  
  3060.                                     - II -
  3061.  
  3062.  
  3063.      
  3064.  
  3065.  
  3066.              2.5.52 `-Qa' (all) Use simple console I/O ..........   38
  3067.              2.5.53 `-Qb' (ext) Test archive before extract .....   38
  3068.              2.5.54 `-Qd' (ext) Delete autoshow files  ..........   38
  3069.              2.5.55 `-Qh' (add) Set Huffman buffer size .........   38
  3070.              2.5.56 `-Qn' (all) Set national character mode .....   39
  3071.              2.5.57 `-Qo' (all) Ignore options after command ....   39
  3072.              2.5.58 `-Qp' (move) Ignore delete protection flag ..   39
  3073.              2.5.59 `-Qq' (add) Quick add   .....................   39
  3074.              2.5.60 `-Qr' (add) Skip datestamp check  ...........   39
  3075.              2.5.61 `-Qw' (all) Disable wildcards   .............   40
  3076.           2.6 Autoshow files     ................................   40
  3077.           2.7 Residentability      ..............................   40
  3078.           2.8 Multi-volume archives     .........................   40
  3079.           2.8.1 Multivolume file names    .......................   40
  3080.           2.9 A bit about headers   .............................   41
  3081.           2.10 Some tips for archiving efficiently  .............   41
  3082.           2.11 Using as little memory as possible ...............   41
  3083.           2.12 Creating fully MS-DOS compatible archives  .......   42
  3084.           2.13 Recovering data from corrupt archives  ...........   42
  3085.        4 Politics      ..........................................   43
  3086.           4.1 Registration      .................................   43
  3087.           4.2 Distribution      .................................   44
  3088.           4.3 Support      ......................................   44
  3089.           4.4 Program availability     ..........................   45
  3090.           4.5 License      ......................................   45
  3091.           4.6 Disclaimer      ...................................   46
  3092.        5 Acknowledgements      ..................................   47
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.                                    - III -
  3121.  
  3122.