diff --git a/1988/dale/Makefile b/1988/dale/Makefile index b30e4be37..11d3a7e76 100644 --- a/1988/dale/Makefile +++ b/1988/dale/Makefile @@ -112,8 +112,8 @@ OBJ= ${PROG}.o DATA= TARGET= ${PROG} # -ALT_OBJ= -ALT_TARGET= +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# # build the entry diff --git a/1988/dale/README.md b/1988/dale/README.md index ec4d51608..e2c64dbfb 100644 --- a/1988/dale/README.md +++ b/1988/dale/README.md @@ -1,10 +1,6 @@ # Best abuse of system calls Paul Dale -University of Queensland -Computer Science Dept -Dept of Computer Science -Uni of Qld, 4067 Australia ## To build: @@ -54,6 +50,7 @@ so Cody changed the lines to be in the form of: Thank you Cody for your assistance! + ## Try: ```sh @@ -64,6 +61,18 @@ Thank you Cody for your assistance! NOTE: in linux it might happen that core dumps are created when running this entry even though it works fine. +### Alternate code + +If you have an old enough compiler you can try the original version in +[dale.alt.c](dale.alt.c). To use: + +```sh +make alt +``` + +Use `dale.alt` as you would `dale` above. + + ## Judges' remarks This entry has a very twisted flow of control via recursion, iteration diff --git a/1988/dale/dale.alt.c b/1988/dale/dale.alt.c new file mode 100644 index 000000000..29a27ea59 --- /dev/null +++ b/1988/dale/dale.alt.c @@ -0,0 +1,26 @@ +#define _ define +#_ P char +#_ p int +#_ O close( +#_ H strlen(* +#_ h case_2 +#_ case_3 default +#_ while switch +#_ L if +#_ I goto +#_ l 1 +#_ f write +#_ J else +#_ a(x)get/***/x/***/id()) +P z[l<<(1<