dhesi@bsu-cs.bsu.edu (Rahul Dhesi) (04/17/89)
In view of the great interest in lzhuf.c and lharc (both recently posted on Usenet in comp.binaries.ibm.pc), and my own interest in including that algorithm in the zoo archive program, I hereby announce the following programming contest. 1. The objective of the contest is to write two C functions defined as follows: int lzhc (inf, outf) /* does lzh compression */ FILE *inf, *outf; int lzhd (inf, outf) /* does lzh uncompression */ FILE *inf, *outf; Each function shall receive open file pointers in inf and outf. It shall read from inf and write to outf. Its return value shall be 0 if no error occurred, 1 if output to outf failed (possibly because of a full disk or a disk error), and 2 or more if any other error occurred (such as not enough memory). Neither function is permitted to print anything to any other file. 2. There will be one top prize, of $100 in US dollars, and two possible bonus prizes of $50 each. I shall be the sole judge and my decision is final. (I have the honor of being judge because I'm donating the prize money.) The criteria for judging shall include portability and speed of code. The top prize will definitely be awarded. In case any unexpected loopholes are found in the contest rules, I reserve the right to close them as I see fit. The compressed output of your code must be able to be extracted by the decoding part of the original lzhuf program posted in comp.binaries.ibm.pc. It is permissible to use that original lzhuf program as the basis for your own program, provided you adhere to its copyright conditions. 3. Your entry, if it wins, must be declared by you to be freely usable and distributable by all for any noncommercial purpose. 4. Your entry must compile and run correctly in each of the following four environments: (a) MS-DOS, using any version of your choice of Borland's Turbo C. (b) 4.3BSD as distributed by the University of California, Berkeley. (c) Microport System V/AT (a port of System V Release 2). (d) VAX/VMS 4.7 as available here to me. Entries that need slight changes to be compiled on these environments will be considered, but will downrated by an amount commensurate with the changes needed. 5. No conditional compilation is permitted, i.e., the same source code must work on all these environments, and no predefined preprocessor symbols may be assumed except for NULL. (Note: 4.3BSD does have the strchr and strrchr functions.) 6. Only the following standard library functions and macros may be used: assert, exit, fclose, feof, fflush, fgetc, fgets, fopen, fprintf, fputc, free, fread, fscanf, fwrite, getc, getchar, malloc, perror, printf, putc, putchar, scanf, strcat, strncat, strchr, strrchr, strcpy, strncpy, strcmp, strncmp, strlen (In particular, the use of fseek, ftell, memmove, and memcpy is not permitted.) Only the following standard header file may be used: <stdio.h>. 6. Your code must be completely independent of byte order ("endedness") and size of the standard data types, except that you may optionally assume that characters are exactly 8 bits. 7. All entries must be submitted by electronic mail to the address contest@bsu-cs.bsu.edu so they reach *after* May 15 and *on or before* May 30. This special userid will not exist before then nor after then. Entries mailed to me directly don't count. There is no penalty for duplicate entries, so if mail seems to fail, you can try again. However, if you have a suggestion or question about this contest, mail it directly to me at the address given at the end of this document. 8. Based on discussion that may follow, I reserve the right to change these rules arbitrarily at any time before April 26. (This allows ten days to fix loopholes and ambiguities, etc.) 9. Entries must be mailed in a format that I can conveniently extract on our 4.3BSD system. Currently these are: shar, arc, zoo. (Any binary format should be uuencoded or atob'd.) 10. The two bonus prizes shall be awarded for well-implemented assembly language routines for the 8086 and 6800 processors respectively. I reserve the right to not award these bonus prizes if no entry is found to be of good enough quality. 11. Sorry, I cannot honor requests to mail you the original lzhuf program or algorithm. Please check your local archives, or a nearby site, for recent postings in comp.binaries.ibm.pc. -- Rahul Dhesi <dhesi@bsu-cs.bsu.edu> UUCP: ...!{iuvax,pur-ee}!bsu-cs!dhesi
dhesi@bsu-cs.bsu.edu (Rahul Dhesi) (04/18/89)
In article <6816@bsu-cs.bsu.edu> I wrote:
10. The two bonus prizes shall be awarded for well-implemented
assembly language routines for the 8086 and 6800 processors
respectively.
Oops! That is a typographical error. Instead of 6800 read 68000.
--
Rahul Dhesi <dhesi@bsu-cs.bsu.edu>
UUCP: ...!{iuvax,pur-ee}!bsu-cs!dhesi