Author:
- Name: Garry Glendown
Location: DE - Federal Republic of Germany (Germany)
To build:
make all
To use:
./garry <input_file >output_file
Try:
./try.sh
Alternate code:
While it may not have been the intention of the author, the
judges noted that the C pre-processed version (with the #include
s
left intact) looked very much like a rat “dropping core”. See
garry.alt.c and judge for yourself!
Alternate build:
make alt
Alternate use:
./garry.alt <input_file >output_file
Alternate try:
./try.alt.sh
Judges’ remarks:
The author was kind enough to provide a less obfuscated version of the source called garry.fmt.c.
Author’s remarks:
This program is a file filter, designed to do environment-expansion and incorporating the ability to create binary from escaped data in the environment variables.
The calling syntax is pretty simple, just use it with stdio
-redirection
or inside pipelines, e.g.:
./garry <file_to_convert >converted_file
or
cat all_my_files/* | ./garry | lp
The syntax of the conversion of the input file is as follows: To include the
value of an environment variable in the output file, place the name of the
variable between $
-signs in the input, e.g.:
My Home-Directory is: $HOME$
I'm using the path: $PATH$
Unknown Env-variables or malformed expressions are ignored and kept intact.
Additionally, the filter replaces escaped octal values in the environment variables by their binary representation, e.g.:
$ TEST="\110\145\154\154\157"
$ export TEST
$ echo '$TEST$' | ./garry
Hello
Inventory for 1995/garry
Primary files
- garry.c - entry source code
- Makefile - entry Makefile
- garry.alt.c - alternate source code
- garry.orig.c - original source code
- garry.data - modified README.md for input to program
- try.alt.sh - script to try alternate code
- try.sh - script to try entry
- garry.fmt.c - author provided unobfuscated and formatted source code
Secondary files
- 1995_garry.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- index.html - this web page