IOCCC image by Matt Zucker

The International Obfuscated C Code Contest

2004/hibachi - Best Abuse of the Guidelines

← gavin ↑ 2004 ↑ hoyle → C code Makefile Inventory





Author:

To build:

make

To use:

cd build; ./hibachi-start.sh &

Then use your web browser to visit http://localhost:8008/. When you’re finished make sure to kill hibachi.

NOTE: you must be in the build directory when running hibachi-start.sh for this to work right.

Judges’ remarks:

This entry violates the guidelines in so many ways! We are not exactly sure how many organisations will be upset with this entry, but we are considering starting an IOCCC standards body just to reign in the likes of Mr Howe.

This entry also has the dubious honour of being the only one to have been submitted with its own configure script.

NOTE: the author states there is a tarball hibachi.tgz but this was extracted so the file does not exist here.

Author’s remarks:

README.TXT (Feb 2004)

Hibachi is a simple, small, and (probably) very secure web server.

There is a hibachi.tgz file (NOTE: this file was removed by the judges after extraction) that unpacks several support files and a subdirectory tree containing the documentation and examples. It can be viewed by:

tar -zxf hibachi.tgz
lynx hibachi/localhost/index.html

Or once Hibachi is running, use a web browser (preferably one that supports images and JavaScript, to view the documentation and try some of the CGI examples) to visit: http://localhost:8008/.

Building

To build just the executable:

For Cygwin, FreeBSD, Linux (newer), Mac OS X:

gcc -o hibachi hibachi.c

For Linux (older):

gcc -DSHUT_WR=1 -o hibachi hibachi.c

For SunOS:

gcc -o hibachi hibachi.c -lnsl -lsocket

Since some systems place socket and network functions into other libraries, a GNU autoconf configure script has been provided to figure out the necessary link libraries, to verify all the necessary headers and functions are present, and setup the #! paths for the CGI examples. In which case the preferred build commands are:

./configure [--enable-port=number]
make

To start the server on the default port (8008):

cd build;
./hibachi-start.sh &

To test the server:

lynx http://localhost:8008/

To stop the server:

kill %1

Features

Comments

Known Issues

Suggested IOCCC Categories

Inventory for 2004/hibachi

Jump to top

Primary files

Secondary files