yydecode - decode yEnc encoded files
yydecode [-b|--write-broken]
    [-r|--remove-broken] [-e|--evil-filenames]
    [-f|--force-overwrite] [-l|--large-parts]
    [-o|--output-file=FILE] [-v|--verbose] FILE
    ...
yydecode [-h|--help]
yydecode [-V|--version]
yydecode started life as a decoder for yEnc encoded
    binaries, which have recently appeared on Usenet. yydecode works
    almost identically to the infamous uudecode program. Version 0.2.8
    and onwards contains a superset of uudecode's functionality, (ie. decodes
    standard uuencoded files, as well as Base64 [RFC2045] encoded files produced
    by uuencode) and hence can be used as a drop-in replacement in all
    circumstances.
Given a selection of parts saved by your newsreader across
    msg-1.txt, msg-2.txt and msg-3.txt, any of the
    following (plus many more variations on the incantation) will correctly
    decode the file(s):
  - $ yydecode msg-1.txt msg-2.txt msg-3.txt
- $ cat msg-1.txt msg-2.txt msg-3.txt | yydecode
  - -o, --output-file=FILE
- Direct all output to FILE (use "-" for stdout). See BUGS
      below.
- -D, --directory=DIR
- Write output files to DIR instead of the current working
    directory.
- -e, --evil-filename
- Allow evil filenames with e.g. high ASCII and shell metacharacters. Use
      twice to allow any character. (DANGEROUS!) Otherwise, any such characters
      are converted to an underscore ("_").
- -c, --clobber-filename
- Append a counter to the filename if it already exists. Has no effect if
      --force-overwrite is also used.
- -f, --force-overwrite
- Overwrite (truncate) the output file, if it exists. Behaves differently
      when used in conjunction with --write-broken.
- -b, --write-broken
- Write decoded parts even if they are verified to be broken. The output
      file will not be renamed to file.broken.
    When used in conjunction with --force-overwrite, the output
        file will not be truncated. Thus one can decode e.g. a two part
        multi-part file in stages by invoking: 
  
  - $ yydecode -f -b msg-1.txt ; yydecode -f -b msg-2.txt
    Note that yydecode cannot check for missing parts when used in
        this way. This is intended to allow one to preview certain media files
        which may be usable without being complete. For uuencoded files, this option causes short lines not to be
        padded, and overlong ones not to be truncated. Be aware that the file
        will be zero padded up to a multiple of three bytes when used with
        output generated by most implementations (e.g. GNU sharutils) of
        uuencode that output more characters than strictly necessary. 
  - -i, --broken-encoder
- Certain encoders outputs a file CRC of 00000001 regardless of the actual
      input. This option tells yydecode to ignore such CRCs, and issue a
      warning. Please pester the sender to upgrade their software if you see
      this.
- -r, --remove-broken
- Remove instead of renaming broken files. When used in conjunction with
      --write-broken, yydecode renames the file instead.
- -l, --large-parts
- Expect parts larger than 8192k (changable at compile-time). Because
      yydecode decodes each part in memory before writing it to disk, it needs
      to allocate enough memory to hold each part. There is a soft limit of
      8192k to guard against parts with broken headers which specify
      ridiculously large part sizes. This switch disables the check.
- -h, --help
- Display a short help message, and exit.
- -v, --verbose
- Increase verbosity.
- -V, --version
- Print the version information, and exit.
When using --output-file with stdout ("-"), data is
    written in the order in which it is received; no attempt is made to reorder
    the encoded input. When used with a file output, only the first encoded file
    encountered will be decoded -- subsequent ones will fail with an error
    complaining about the existing output file. There is no intention to fix
    this.
http://yydecode.sf.net/, http://www.yenc.org/, and
    uudecode(1)
Copyright © 2002-2003, Liyang Hu <yydecode@nerv.cx>,
    http://nerv.cx/liyang/
This manual page was initially written by Itai Zukerman
    <zukerman@math-hat.com> for the Debian GNU/Linux system. It is
    currently maintained by the program author.