YYDECODE(1)

NAME
yydecode - decode yEnc encoded files

SYNOPSIS

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]

DESCRIPTION

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.

EXAMPLES

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

OPTIONS

-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.

BUGS

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.

SEE ALSO
http://yydecode.sf.net/, http://www.yenc.org/, and uudecode(1)

AUTHOR

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.