Kirika (2001-09-16)
Lossless compressor.
Synopsis:
kirika x [infile] [outfile]
kirika a [infile] [outfile]
Decompress infile to outfile if 'x' is used, otherwise compress
infile to outfile. Note that only lowercase 'x' works.
If outfile is absent, stdout is used. If infile is absent, Kirika
reads from stdin and writes to stdout.
Some operation flag ('x' or something else) must be supplied, or
Kirika will crash. It would have been a good idea to check that in
the program, but this bug was noticed last minute. Well, at least
it's documented here. Those who don't read the documentation
probably can't use Kirika correctly anyway.
Kirika will not crash if one of the files fail to open, in that
case Kirika will exit gracefully, without error messages. Check
output file and see that it's not empty in that case.
Description:
Kirika compresses/decompresses input using an algorithm similar to
LZ77. The speed and compression ratio are by no means the best,
but reasonably good.
Platforms:
Linux - kirika.c compiles with gcc just fine. You can also use
source/Makefile.
Windows - kirika.c will compile with MSVC++, but pipes will not
work (i.e. you can't process stdin/stdout). This is due to how
newlines are translated under windows. Instead, compile
kirika-win32.c, using source/makefile.w32. The output files will
be identical to those produced under Linux.
Non-Intel - care has been taken to read/write words independent of
byte order, so everything should work as expected (and archive
should be portable across platforms). Kirika has not been tested
on non-intel platforms.
Non-ASCII - Kirika probably won't work on non-ascii platforms.
Having spent the past few months hard at work, I finally took some
time to write program like this. After all, programming is supposed
to be fun, and programs are supposed to be free :)
Template based on Yumura Kirika from Noir.
--
omoikane@uguu.org - http://uguu.org/