diff --git a/1987/heckbert/.gitignore b/1987/heckbert/.gitignore index f0079d9a3..723761962 100644 --- a/1987/heckbert/.gitignore +++ b/1987/heckbert/.gitignore @@ -7,3 +7,4 @@ ph ph.c heckbert.orig prog.orig +foo.md diff --git a/1987/heckbert/Makefile b/1987/heckbert/Makefile index d6ce2b947..603f1f623 100644 --- a/1987/heckbert/Makefile +++ b/1987/heckbert/Makefile @@ -58,7 +58,7 @@ ARCH= # Defines that are needed to compile # -CDEFINE= +CDEFINE= -Dindex=strchr # Include files that are needed to compile # diff --git a/1987/heckbert/README.md b/1987/heckbert/README.md index a26f9e0e1..4eda35d65 100644 --- a/1987/heckbert/README.md +++ b/1987/heckbert/README.md @@ -1,7 +1,6 @@ # Best Obfuscator of Programs -Paul Heckbert -Pixar +Paul Heckbert
## To build: @@ -12,15 +11,20 @@ make all On System V systems, we had to compile with `-Dindex=strchr`. To compile on a 16 bit machine, change 300000 to 30000. +## To run: +```sh +./heckbert col < file +``` + +where col is the number of columns to fold at and file is the file to fold. ## Try: ```sh ./heckbert 40 < heckbert.c > ph.c; make ph ./ph 21 < heckbert.c > bar.c; make bar -# or more generally fold some other file at a positive column: -./ph col < file + ``` Ask yourself what happens to `foo.md` if you try: @@ -41,9 +45,10 @@ Try not to [Fold, Spindle or Mutilate](https://repository.library.brown.edu/studio/item/bdr:788264/PDF/) files. :-) -The judges used this program to fold up very long lines which the -BSD fold(1) was unable to process. This program has been added -to the contest tool chest. +The judges used this program to fold up
+very long lines which the BSD fold(1)
+was unable to process. This program has
+been added to the contest tool chest. ## Author's remarks: diff --git a/1987/heckbert/heckbert.c b/1987/heckbert/heckbert.c index 858f5d8c7..54e153e16 100644 --- a/1987/heckbert/heckbert.c +++ b/1987/heckbert/heckbert.c @@ -1,5 +1,6 @@ #include #include +#define _ define #define A putchar #define B return #define C index diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index 1743098b2..fcc2438a2 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -273,6 +273,17 @@ If you'd like to see the difference between the version that requires git diff 82cbf069a781d64802fc59b36778c0b02be4043e..a74abb69b7e9b87e305b529941bf46f97ffff341 1986/wall/wall.c ``` +## [1987/heckbert](1987/heckbert/heckbert.c) ([README.md](1987/heckbert/README.md)) + +Cody made this look more like the original entry by restoring the `#define` of +`define`. It's not used but it now looks closer to the original. + +Also because `index(3)` is deprecated and in some systems requires the inclusion +of `strings.h` and because it's identical in use to `strchr(3)` (and we noted +that for System V we had to do this) Cody added to the Makefile +`-Dindex=strchr`. + + ## [1987/wall](1987/wall/wall.c) ([README.md](1987/wall/README.md])) Cody made this safer by using `fgets()` instead of `gets()`. This prevents an