From 92139c55d75dd60e7ddc2e6cf76e446d561285f3 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:53:56 -0700 Subject: [PATCH] Move 199[1-3]/ant and 2015/howe alt code The unobfuscated code, which was put in deobfuscated/, has been turned into alt code. In one case the already existing alt code was made alt2 and the unobfuscated code was alt. In the case of the ones with two C files there, the one that did not require modification (to compile in modern systems) were used as those are original. In a few cases these changes suggested additional files: a test suite Makefile for the alt code, a try.alt.sh script and maybe some other things besides. The bug status was updated for 2015/howe with a known bug: in particular the test scripts do not work (at least not completely). In the manifest all references (except for a file name that has not been renamed - at least not yet) of 'deobfuscated' to 'unobfuscated': a minor detail that might not matter much but it sounds ever so slightly better (maybe). These other entries that had an entry_text change were 1995/garry and 2020/endoh2. Rebuilt .entry.json and index.html files for this (and in the case of the moved code the index.html files also had to be changed for that in addition to the Makefiles). --- 1991/ant/.entry.json | 22 +- 1991/ant/Makefile | 35 +- 1991/ant/README.md | 40 +- 1991/ant/ant.alt.c | 395 ++++++++++++++- 1991/ant/ant.alt2.c | 28 ++ 1991/ant/deobfuscated/Makefile | 34 -- 1991/ant/deobfuscated/ant-c89.c | 371 --------------- 1991/ant/deobfuscated/ant.c | 364 -------------- 1991/ant/index.html | 45 +- 1992/ant/.entry.json | 18 +- 1992/ant/Makefile | 28 +- 1992/ant/README.md | 4 +- 1992/ant/{deobfuscated/ant.c => ant.alt.c} | 0 1992/ant/deobfuscated/Makefile | 22 - 1992/ant/index.html | 13 +- 1992/ant/{deobfuscated => }/sleep.c | 0 1992/ant/try.alt.sh | 8 +- 1992/ant/try.sh | 2 +- 1993/ant/.entry.json | 28 +- 1993/ant/Makefile | 22 +- 1993/ant/README.md | 6 +- .../ant/{deobfuscated/ant-c89.c => ant.alt.c} | 0 1993/ant/ant.alt.test.mk | 2 +- 1993/ant/ant.test.mk | 2 +- 1993/ant/deobfuscated/Makefile | 27 -- 1993/ant/deobfuscated/ant.c | 449 ------------------ 1993/ant/index.html | 16 +- .../ant/{deobfuscated/test.mk => test.alt.mk} | 76 +-- 1995/garry/.entry.json | 2 +- 1995/garry/index.html | 2 +- 2015/howe/.entry.json | 32 +- 2015/howe/.gitignore | 1 + 2015/howe/Makefile | 13 +- 2015/howe/README.md | 37 +- 2015/howe/deobfuscated/Makefile | 69 --- 2015/howe/{deobfuscated => }/err.h | 0 2015/howe/index.html | 26 +- 2015/howe/prog-test.sh | 1 + 2015/howe/prog.alt-test.sh | 137 ++++++ .../howe/{deobfuscated/prog.c => prog.alt2.c} | 0 2015/howe/try.alt.sh | 95 ++++ 2015/howe/try.sh | 6 +- 2020/endoh2/.entry.json | 2 +- 2020/endoh2/index.html | 2 +- bugs.html | 21 +- bugs.md | 28 ++ thanks-for-help.html | 47 +- thanks-for-help.md | 53 +-- tmp/manifest.csv | 36 +- tmp/manifest.numbers | Bin 1344923 -> 1341735 bytes tmp/path_list.found.txt | 22 +- tmp/path_list.manifest.txt | 22 +- tmp/path_list.required.txt | 22 +- 53 files changed, 993 insertions(+), 1740 deletions(-) create mode 100644 1991/ant/ant.alt2.c delete mode 100644 1991/ant/deobfuscated/Makefile delete mode 100644 1991/ant/deobfuscated/ant-c89.c delete mode 100644 1991/ant/deobfuscated/ant.c rename 1992/ant/{deobfuscated/ant.c => ant.alt.c} (100%) delete mode 100644 1992/ant/deobfuscated/Makefile rename 1992/ant/{deobfuscated => }/sleep.c (100%) rename 1993/ant/{deobfuscated/ant-c89.c => ant.alt.c} (100%) delete mode 100644 1993/ant/deobfuscated/Makefile delete mode 100644 1993/ant/deobfuscated/ant.c rename 1993/ant/{deobfuscated/test.mk => test.alt.mk} (66%) delete mode 100644 2015/howe/deobfuscated/Makefile rename 2015/howe/{deobfuscated => }/err.h (100%) create mode 100755 2015/howe/prog.alt-test.sh rename 2015/howe/{deobfuscated/prog.c => prog.alt2.c} (100%) create mode 100755 2015/howe/try.alt.sh diff --git a/1991/ant/.entry.json b/1991/ant/.entry.json index 0925e9583..ec1a3d9f8 100644 --- a/1991/ant/.entry.json +++ b/1991/ant/.entry.json @@ -26,7 +26,7 @@ "entry_text" : "entry Makefile" }, { - "file_path" : "ant.alt.c", + "file_path" : "ant.alt2.c", "inventory_order" : 40, "OK_to_edit" : true, "display_as" : "c", @@ -42,28 +42,12 @@ "entry_text" : "original source code" }, { - "file_path" : "deobfuscated/ant-c89.c", + "file_path" : "ant.alt.c", "inventory_order" : 140, "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "author provided deobfuscated code converted from K&R" - }, - { - "file_path" : "deobfuscated/ant.c", - "inventory_order" : 140, - "OK_to_edit" : true, - "display_as" : "c", - "display_via_github" : true, - "entry_text" : "author provided deobfuscated code" - }, - { - "file_path" : "deobfuscated/Makefile", - "inventory_order" : 150, - "OK_to_edit" : true, - "display_as" : "c", - "display_via_github" : true, - "entry_text" : "author provided Makefile for deobfuscated code" + "entry_text" : "author provided unobfuscated code" }, { "file_path" : "1991_ant.tar.bz2", diff --git a/1991/ant/Makefile b/1991/ant/Makefile index b8612e1e5..b124035ea 100644 --- a/1991/ant/Makefile +++ b/1991/ant/Makefile @@ -119,8 +119,8 @@ OBJ= ${PROG}.o DATA= README.md TARGET= ${PROG} hill mole # -ALT_OBJ= ${PROG}.alt.o deobfuscated/${PROG}.o -ALT_TARGET= ${PROG}.alt deobfuscated/${PROG} +ALT_OBJ= ${PROG}.alt.o ${PROG}.alt2.o +ALT_TARGET= ${PROG}.alt ${PROG}.alt2 ################# @@ -154,25 +154,16 @@ alt: data ${ALT_TARGET} ${PROG}.alt: ${PROG}.alt.c hill ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} -# We keep the deobfuscated source code and Makefile in deobfuscated/, and use -# that Makefile but then move the compiled programs to the entry's directory to -# keep both directories clean and to allow the deobfuscated Makefile and code to -# be used but not require the user to do: -# -# ./deobfuscated/ant -# ./deobfuscated/ant-c89 -# -# but rather simply: -# -# ./ant.alt2 -# ./ant.alt2-c89 -# -# The alt2 is because this is the secondary alt. -deobfuscated/${PROG}: deobfuscated/${PROG}.c deobfuscated/${PROG}-c89.c - ${MAKE} -C deobfuscated ant - ${MV} -vf deobfuscated/ant ant.alt2 - ${MAKE} -C deobfuscated ant-c89 - ${MV} -vf deobfuscated/ant-c89 ant.alt2-c89 +${PROG}.alt2: ${PROG}.alt2.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + +hill.alt: README.md + ${RM} -f $@ + ${CP} -f -v $? $@ + +mole.alt: ${PROG}.c hill + ${RM} -f $@ + ${CAT} ${PROG}.c hill.alt > $@ # data files # @@ -240,7 +231,7 @@ clean: clobber: clean ${RM} -f ${TARGET} ${ALT_TARGET} - ${RM} -rf *.dSYM ant.alt ant.alt2 ant.alt2-c89 + ${RM} -rf *.dSYM ant.alt ant.alt2 @-if [ -e sandwich ]; then \ ${RM} -f sandwich; \ echo 'ate sandwich'; \ diff --git a/1991/ant/README.md b/1991/ant/README.md index ca830f3fb..3ef186cac 100644 --- a/1991/ant/README.md +++ b/1991/ant/README.md @@ -4,9 +4,9 @@ make all ``` -There is an alternate version that might feel a bit more familiar to vi(m) -users. Additionally, the author provided deobfuscated versions including one for -C89. See [Alternate code](#alternate-code) below. +The author provided an unobfuscated version and there is an alternate version +that might feel a bit more familiar to vi(m) users. See [Alternate +code](#alternate-code) below. ## To use: @@ -34,23 +34,18 @@ program exit without doing anything. ## Alternate code: -The author provided us with deobfuscated versions including one for C89. The two -C files in `deobfuscated`, -[deobfuscated/ant.c](%%REPO_URL%%/1991/ant/deobfuscated/ant.c) and -[deobfuscated/ant-c89.c](%%REPO_URL%%/1991/ant/deobfuscated/ant-c89.c) and the -[deobfuscated/Makefile](%%REPO_URL%%/1991/ant/deobfuscated/Makefile) will allow -you to look at them and compile them if you wish. These are exactly like the -original in every way, including in use, except they are deobfuscated. +The author provided us with an unobfuscated version, +[ant.alt.c](%%REPO_URL%%/1991/ant/ant.alt.c). -The other version, [ant.alt.c](%%REPO_URL%%/1991/ant/ant.alt.c) changes the -commands slightly so that to go to the first column you should enter `0`, to go -to the last column you should enter `$`, to quit you should enter `q`, to go -back a word you should enter `b` and to go forwards a word you should enter `w`. -Also, and perhaps most useful, rather than having to hit ctrl-L (form-feed, -`\f`) to get back to command mode you can use the usual ESC (`\x1b`). - -These will make it slightly less unwieldy for those familiar with vi(m); the -rest was unchanged. +The other alternate version, [ant.alt2.c](%%REPO_URL%%/1991/ant/ant.alt2.c) +changes the commands slightly so that to go to the first column you should enter +`0`, to go to the last column you should enter `$`, to quit you should enter +`q`, to go back a word you should enter `b` and to go forwards a word you should +enter `w`. Also, and perhaps most useful, rather than having to hit ctrl-L +(form-feed, `\f`) to get back to command mode you can use the usual ESC +(`\x1b`); the author explains why this was not originally done in their remarks +below. These slight modifications will make it slightly less unwieldy for those +familiar with vi(m); the rest was unchanged. ### Alternate build: @@ -62,10 +57,9 @@ rest was unchanged. ### Alternate use: -For the deobfuscated versions, use `ant.alt2` and `ant.alt2-c89` as you would -`ant` above; for the other one, `ant.alt`, use it as you would `ant` above but -with the changes in the input keys described above. See the author's remarks for -the remaining commands. +For the unobfuscated version, use `ant.alt` as you would `ant` above; for the +other one, use `ant.alt2` as you would `ant` above but with the changes in the +input keys described above. See the author's remarks for the remaining commands. ## Judges' remarks: diff --git a/1991/ant/ant.alt.c b/1991/ant/ant.alt.c index 071bb8493..142c5f425 100644 --- a/1991/ant/ant.alt.c +++ b/1991/ant/ant.alt.c @@ -1,28 +1,371 @@ +/* + * Anthony's Editor + * + * Public Domain 1991, 2023 by Anthony Howe. All rights released. + */ + #include #include -#define T isspace(*(t=Z(p)))&& -#define V return -#define _ while -int d,i,j,m,n,p,q,x,y;char*c,b[BUF],*f,*g=b,*h,k[]="hjklbJKw0$tbixWRq",*t; -char*Z(a){if(a<0)V b;V b+a+(b+a>");move(y,x); -refresh();}main(u,v)char**v;{h=c=b+BUF;if(u<2)V -2;initscr();d=LINES;raw();noecho();idlok(stdscr,1);if(0<(i=open(f= *++v,0))){ -g+=read(i,b,BUF);g=g +#include +#include + +#ifndef BUF +# define BUF (USHRT_MAX) +#endif + +#define TABWIDTH 8 +#define TABSTOP(col) (TABWIDTH - ((col) & (TABWIDTH-1))) + +static int done; +static int row, col; +static int here, page, epage; +static char buf[BUF]; +static char *ebuf; +static char *gap = buf; +static char *egap; +static char *filename; + +/* + * The following assertions must be maintained. + * + * o buf <= gap <= egap <= ebuf + * If gap == egap then the buffer is full. + * + * o point = ptr(here) and point < gap or egap <= point + * + * o page <= here < epage + * + * o 0 <= here <= pos(ebuf) <= BUF + * + * + * Memory representation of the file: + * + * low buf -->+----------+ + * | front | + * | of file | + * gap -->+----------+<-- character not in file + * | hole | + * egap -->+----------+<-- character in file + * | back | + * | of file | + * high ebuf -->+----------+<-- character not in file + * + * + * point & gap + * + * The Point is the current cursor position while the Gap is the + * position where the last edit operation took place. The Gap is + * ment to be the cursor but to avoid shuffling characters while + * the cursor moves it is easier to just move a pointer and when + * something serious has to be done then you move the Gap to the + * Point. + */ + +char * +ptr(int offset) +{ + if (offset < 0) { + return buf; + } + return buf+offset + (buf+offset < gap ? 0 : egap-gap); +} + +int +pos(char *pointer) +{ + return pointer-buf - (pointer < egap ? 0 : egap-gap); +} + +void +top(void) +{ + here = 0; +} + +void +bottom(void) +{ + epage = here = pos(ebuf); +} + +void +quit(void) +{ + done = 1; +} + +void +movegap(void) +{ + char *p = ptr(here); + while (p < gap) { + *--egap = *--gap; + } + while (egap < p) { + *gap++ = *egap++; + } + here = pos(egap); +} + +int +prevline(int offset) +{ + char *p; + while (buf < (p = ptr(--offset)) && *p != '\n') { + ; + } + return buf < p ? ++offset : 0; +} + +int +nextline(int offset) +{ + char *p; + while ((p = ptr(offset++)) < ebuf && *p != '\n') { + ; + } + return p < ebuf ? offset : pos(ebuf); +} + +int +adjust(int offset, int column) +{ + char *p; + int i = 0; + while ((p = ptr(offset)) < ebuf && *p != '\n' && i < column) { + i += *p == '\t' ? TABSTOP(i) : 1; + ++offset; + } + return offset; +} + +void +display(void) +{ + char *p; + int i, j; + if (here < page) { + page = prevline(here); + } + if (epage <= here) { + page = nextline(here); + i = page == pos(ebuf) ? LINES-2 : LINES; + while (0 < i--) { + page = prevline(page-1); + } + } + move(0, 0); + clrtobot(); + i = j = 0; + epage = page; + for (;;) { + if (here == epage) { + row = i; + col = j; + } + p = ptr(epage); + if (LINES <= i || ebuf <= p) { + break; + } + if (*p != '\r') { + /* Handle tab expansion ourselves. Differences + * between historical Curses and NCurses 2021 + * WRT tab handling I can't suss just yet. + * + * Historical Curses addch() would handle tab + * expansion as I recall while (current 2021) + * NCurses does not by default it seems. + */ + if (*p == '\t') { + j += TABSTOP(j); + move(i, j); + } else { + addch(*p); + j++; + } + } + if (*p == '\n' || COLS <= j) { + ++i; + j = 0; + } + ++epage; + } + if (++i < LINES) { + mvaddstr(i, 0, "~EOF~"); + } + move(row, col); + refresh(); +} + +void +redraw(void) +{ + clear(); + display(); +} + +void +left(void) +{ + if (0 < here) { + --here; + } +} + +void +right(void) +{ + if (here < pos(ebuf)) { + ++here; + } +} + +void +up(void) +{ + here = adjust(prevline(prevline(here)-1), col); +} + +void +down(void) +{ + here = adjust(nextline(here), col); +} + +void +lnbegin(void) +{ + here = prevline(here); +} + +void +lnend(void) +{ + here = nextline(here); + left(); +} + +void +wleft(void) +{ + char *p; + while (!isspace(*(p = ptr(here))) && buf < p) { + --here; + } + while (isspace(*(p = ptr(here))) && buf < p) { + --here; + } +} + +void +pgdown(void) +{ + page = here = prevline(epage-1); + while (0 < row--){ + down(); + } + epage = pos(ebuf); +} + +void +pgup(void) +{ + int i = LINES; + while (0 < --i) { + page = prevline(page-1); + up(); + } +} + +void +wright(void) +{ + char *p; + while (!isspace(*(p = ptr(here))) && p < ebuf) { + ++here; + } + while (isspace(*(p = ptr(here))) && p < ebuf) { + ++here; + } +} + +void +insert(void) +{ + int ch; + movegap(); + while ((ch = getch()) != '\e' && ch != '\f') { + if (ch == '\b') { + if (buf < gap) { + --gap; + } + } else if (gap < egap) { + *gap++ = ch == '\r' ? '\n' : ch; + } + here = pos(egap); + display(); + } +} + +void +delete(void) +{ + movegap(); + if (egap < ebuf) { + here = pos(++egap); + } +} + +void +file(void) +{ + int i; + int j = here; + here = 0; + movegap(); + (void) write(i = creat(filename, MODE), egap, (int)(ebuf-egap)); + (void) close(i); + here = j; +} + +static char key[] = "hjklHJKL[]tbixWRQ"; + +static void (*func[])(void) = { + left, down, up, right, + wleft, pgdown, pgup, wright, + lnbegin, lnend, top, bottom, + insert, delete, file, redraw, quit, movegap +}; + +int +main(int argc, char **argv) +{ + int ch, i; + egap = ebuf = buf + BUF; + if (argc < 2) { + return 2; + } + initscr(); + raw(); + noecho(); + idlok(stdscr, 1); + if (0 < (i = open(filename = *++argv, 0))) { + gap += read(i, buf, BUF); + if (gap < buf) { + gap = buf; + } + (void) close(i); + } + top(); + while (!done) { + display(); + ch = getch(); + for (i = 0; key[i] != '\0' && ch != key[i]; i++) { + ; + } + (*func[i])(); + } + endwin(); + return 0; +} diff --git a/1991/ant/ant.alt2.c b/1991/ant/ant.alt2.c new file mode 100644 index 000000000..071bb8493 --- /dev/null +++ b/1991/ant/ant.alt2.c @@ -0,0 +1,28 @@ +#include +#include +#define T isspace(*(t=Z(p)))&& +#define V return +#define _ while +int d,i,j,m,n,p,q,x,y;char*c,b[BUF],*f,*g=b,*h,k[]="hjklbJKw0$tbixWRq",*t; +char*Z(a){if(a<0)V b;V b+a+(b+a>");move(y,x); +refresh();}main(u,v)char**v;{h=c=b+BUF;if(u<2)V +2;initscr();d=LINES;raw();noecho();idlok(stdscr,1);if(0<(i=open(f= *++v,0))){ +g+=read(i,b,BUF);g=g -#include -#include -#include -#include - -#ifndef BUF -# define BUF (USHRT_MAX) -#endif - -#define TABWIDTH 8 -#define TABSTOP(col) (TABWIDTH - ((col) & (TABWIDTH-1))) - -static int done; -static int row, col; -static int here, page, epage; -static char buf[BUF]; -static char *ebuf; -static char *gap = buf; -static char *egap; -static char *filename; - -/* - * The following assertions must be maintained. - * - * o buf <= gap <= egap <= ebuf - * If gap == egap then the buffer is full. - * - * o point = ptr(here) and point < gap or egap <= point - * - * o page <= here < epage - * - * o 0 <= here <= pos(ebuf) <= BUF - * - * - * Memory representation of the file: - * - * low buf -->+----------+ - * | front | - * | of file | - * gap -->+----------+<-- character not in file - * | hole | - * egap -->+----------+<-- character in file - * | back | - * | of file | - * high ebuf -->+----------+<-- character not in file - * - * - * point & gap - * - * The Point is the current cursor position while the Gap is the - * position where the last edit operation took place. The Gap is - * ment to be the cursor but to avoid shuffling characters while - * the cursor moves it is easier to just move a pointer and when - * something serious has to be done then you move the Gap to the - * Point. - */ - -char * -ptr(int offset) -{ - if (offset < 0) { - return buf; - } - return buf+offset + (buf+offset < gap ? 0 : egap-gap); -} - -int -pos(char *pointer) -{ - return pointer-buf - (pointer < egap ? 0 : egap-gap); -} - -void -top(void) -{ - here = 0; -} - -void -bottom(void) -{ - epage = here = pos(ebuf); -} - -void -quit(void) -{ - done = 1; -} - -void -movegap(void) -{ - char *p = ptr(here); - while (p < gap) { - *--egap = *--gap; - } - while (egap < p) { - *gap++ = *egap++; - } - here = pos(egap); -} - -int -prevline(int offset) -{ - char *p; - while (buf < (p = ptr(--offset)) && *p != '\n') { - ; - } - return buf < p ? ++offset : 0; -} - -int -nextline(int offset) -{ - char *p; - while ((p = ptr(offset++)) < ebuf && *p != '\n') { - ; - } - return p < ebuf ? offset : pos(ebuf); -} - -int -adjust(int offset, int column) -{ - char *p; - int i = 0; - while ((p = ptr(offset)) < ebuf && *p != '\n' && i < column) { - i += *p == '\t' ? TABSTOP(i) : 1; - ++offset; - } - return offset; -} - -void -display(void) -{ - char *p; - int i, j; - if (here < page) { - page = prevline(here); - } - if (epage <= here) { - page = nextline(here); - i = page == pos(ebuf) ? LINES-2 : LINES; - while (0 < i--) { - page = prevline(page-1); - } - } - move(0, 0); - clrtobot(); - i = j = 0; - epage = page; - for (;;) { - if (here == epage) { - row = i; - col = j; - } - p = ptr(epage); - if (LINES <= i || ebuf <= p) { - break; - } - if (*p != '\r') { - /* Handle tab expansion ourselves. Differences - * between historical Curses and NCurses 2021 - * WRT tab handling I can't suss just yet. - * - * Historical Curses addch() would handle tab - * expansion as I recall while (current 2021) - * NCurses does not by default it seems. - */ - if (*p == '\t') { - j += TABSTOP(j); - move(i, j); - } else { - addch(*p); - j++; - } - } - if (*p == '\n' || COLS <= j) { - ++i; - j = 0; - } - ++epage; - } - if (++i < LINES) { - mvaddstr(i, 0, "~EOF~"); - } - move(row, col); - refresh(); -} - -void -redraw(void) -{ - clear(); - display(); -} - -void -left(void) -{ - if (0 < here) { - --here; - } -} - -void -right(void) -{ - if (here < pos(ebuf)) { - ++here; - } -} - -void -up(void) -{ - here = adjust(prevline(prevline(here)-1), col); -} - -void -down(void) -{ - here = adjust(nextline(here), col); -} - -void -lnbegin(void) -{ - here = prevline(here); -} - -void -lnend(void) -{ - here = nextline(here); - left(); -} - -void -wleft(void) -{ - char *p; - while (!isspace(*(p = ptr(here))) && buf < p) { - --here; - } - while (isspace(*(p = ptr(here))) && buf < p) { - --here; - } -} - -void -pgdown(void) -{ - page = here = prevline(epage-1); - while (0 < row--){ - down(); - } - epage = pos(ebuf); -} - -void -pgup(void) -{ - int i = LINES; - while (0 < --i) { - page = prevline(page-1); - up(); - } -} - -void -wright(void) -{ - char *p; - while (!isspace(*(p = ptr(here))) && p < ebuf) { - ++here; - } - while (isspace(*(p = ptr(here))) && p < ebuf) { - ++here; - } -} - -void -insert(void) -{ - int ch; - movegap(); - while ((ch = getch()) != '\e' && ch != '\f') { - if (ch == '\b') { - if (buf < gap) { - --gap; - } - } else if (gap < egap) { - *gap++ = ch == '\r' ? '\n' : ch; - } - here = pos(egap); - display(); - } -} - -void -delete(void) -{ - movegap(); - if (egap < ebuf) { - here = pos(++egap); - } -} - -void -file(void) -{ - int i; - int j = here; - here = 0; - movegap(); - (void) write(i = creat(filename, MODE), egap, (int)(ebuf-egap)); - (void) close(i); - here = j; -} - -static char key[] = "hjklHJKL[]tbixWRQ"; - -static void (*func[])(void) = { - left, down, up, right, - wleft, pgdown, pgup, wright, - lnbegin, lnend, top, bottom, - insert, delete, file, redraw, quit, movegap -}; - -int -main(int argc, char **argv) -{ - int ch, i; - egap = ebuf = buf + BUF; - if (argc < 2) { - return 2; - } - initscr(); - raw(); - noecho(); - idlok(stdscr, 1); - if (0 < (i = open(filename = *++argv, 0))) { - gap += read(i, buf, BUF); - if (gap < buf) { - gap = buf; - } - (void) close(i); - } - top(); - while (!done) { - display(); - ch = getch(); - for (i = 0; key[i] != '\0' && ch != key[i]; i++) { - ; - } - (*func[i])(); - } - endwin(); - return 0; -} diff --git a/1991/ant/deobfuscated/ant.c b/1991/ant/deobfuscated/ant.c deleted file mode 100644 index d8748adc6..000000000 --- a/1991/ant/deobfuscated/ant.c +++ /dev/null @@ -1,364 +0,0 @@ -/* - * ae.c Anthony's Editor IOCCC '91 - * - * Public Domain 1991 by Anthony Howe. All rights released. - */ - -#include -#include -#include -#include -#include - - -int done; -int row, col; -int idx, page, epage; -char buf[BUF]; -char *ebuf; -char *gap = buf; -char *egap; -char *filename; - -/* - * The following assertions must be maintained. - * - * o buf <= gap <= egap <= ebuf - * If gap == egap then the buffer is full. - * - * o point = ptr(idx) and point < gap or egap <= point - * - * o page <= idx < epage - * - * o 0 <= idx <= pos(ebuf) <= BUF - * - * - * Memory representation of the file: - * - * low buf -->+----------+ - * | front | - * | of file | - * gap -->+----------+<-- character not in file - * | hole | - * egap -->+----------+<-- character in file - * | back | - * | of file | - * high ebuf -->+----------+<-- character not in file - * - * - * point & gap - * - * The Point is the current cursor position while the Gap is the - * position where the last edit operation took place. The Gap is - * ment to be the cursor but to avoid shuffling characters while - * the cursor moves it is easier to just move a pointer and when - * something serious has to be done then you move the Gap to the - * Point. - */ - -int adjust(); -int nextline(); -int pos(); -int prevline(); -char *ptr(); - -void bottom(); -void delete(); -void display(); -void down(); -void file(); -void insert(); -void left(); -void lnbegin(); -void lnend(); -void movegap(); -void pgdown(); -void pgup(); -void redraw(); -void right(); -void quit(); -void top(); -void up(); -void wleft(); -void wright(); - -char key[] = "hjklHJKL[]tbixWRQ"; -void (*func[])() = { - left, down, up, right, - wleft, pgdown, pgup, wright, - lnbegin, lnend, top, bottom, - insert, delete, file, redraw, quit, movegap -}; - -char * -ptr(offset) -int offset; -{ - if (offset < 0) - return (buf); - return (buf+offset + (buf+offset < gap ? 0 : egap-gap)); -} - -int -pos(pointer) -char *pointer; -{ - return (pointer-buf - (pointer < egap ? 0 : egap-gap)); -} - -void -top() -{ - idx = 0; -} - -void -bottom() -{ - epage = idx = pos(ebuf); -} - -void -quit() -{ - done = 1; -} - -void -redraw() -{ - clear(); - display(); -} - -void -movegap() -{ - char *p = ptr(idx); - while (p < gap) - *--egap = *--gap; - while (egap < p) - *gap++ = *egap++; - idx = pos(egap); -} - -int -prevline(offset) -int offset; -{ - char *p; - while (buf < (p = ptr(--offset)) && *p != '\n') - ; - return (buf < p ? ++offset : 0); -} - -int -nextline(offset) -int offset; -{ - char *p; - while ((p = ptr(offset++)) < ebuf && *p != '\n') - ; - return (p < ebuf ? offset : pos(ebuf)); -} - -int -adjust(offset, column) -int offset, column; -{ - char *p; - int i = 0; - while ((p = ptr(offset)) < ebuf && *p != '\n' && i < column) { - i += *p == '\t' ? 8-(i&7) : 1; - ++offset; - } - return (offset); -} - -void -left() -{ - if (0 < idx) - --idx; -} - -void -right() -{ - if (idx < pos(ebuf)) - ++idx; -} - -void -up() -{ - idx = adjust(prevline(prevline(idx)-1), col); -} - -void -down() -{ - idx = adjust(nextline(idx), col); -} - -void -lnbegin() -{ - idx = prevline(idx); -} - -void -lnend() -{ - idx = nextline(idx); - left(); -} - -void -wleft() -{ - char *p; - while (!isspace(*(p = ptr(idx))) && buf < p) - --idx; - while (isspace(*(p = ptr(idx))) && buf < p) - --idx; -} - -void -pgdown() -{ - page = idx = prevline(epage-1); - while (0 < row--) - down(); - epage = pos(ebuf); -} - -void -pgup() -{ - int i = LINES; - while (0 < --i) { - page = prevline(page-1); - up(); - } -} - -void -wright() -{ - char *p; - while (!isspace(*(p = ptr(idx))) && p < ebuf) - ++idx; - while (isspace(*(p = ptr(idx))) && p < ebuf) - ++idx; -} - -void -insert() -{ - int ch; - movegap(); - while ((ch = getch()) != '\f') { - if (ch == '\b') { - if (buf < gap) - --gap; - } else if (gap < egap) { - *gap++ = ch == '\r' ? '\n' : ch; - } - idx = pos(egap); - display(); - } -} - -void -delete() -{ - movegap(); - if (egap < ebuf) - idx = pos(++egap); -} - -void -file() -{ - int i; - int j = idx; - idx = 0; - movegap(); - write(i = creat(filename, MODE), egap, (int)(ebuf-egap)); - close(i); - idx = j; -} - -void -display() -{ - char *p; - int i, j; - if (idx < page) - page = prevline(idx); - if (epage <= idx) { - page = nextline(idx); - i = page == pos(ebuf) ? LINES-2 : LINES; - while (0 < i--) - page = prevline(page-1); - } - move(0, 0); - i = j = 0; - epage = page; - while (1) { - if (idx == epage) { - row = i; - col = j; - } - p = ptr(epage); - if (LINES <= i || ebuf <= p) - break; - if (*p != '\r') { - addch(*p); - j += *p == '\t' ? 8-(j&7) : 1; - } - if (*p == '\n' || COLS <= j) { - ++i; - j = 0; - } - ++epage; - } - clrtobot(); - if (++i < LINES) - mvaddstr(i, 0, "<< EOF >>"); - move(row, col); - refresh(); -} - -int -main(argc, argv) -int argc; -char **argv; -{ - int ch, i; - egap = ebuf = buf + BUF; - if (argc < 2) - return (2); - initscr(); - raw(); - noecho(); - idlok(stdscr, 1); - if (0 < (i = open(filename = *++argv, 0))) { - gap += read(i, buf, BUF); - if (gap < buf) - gap = buf; - close(i); - } - top(); - while (!done) { - display(); - i = 0; - ch = getch(); - while (key[i] != '\0' && ch != key[i]) - ++i; - (*func[i])(); - } - endwin(); - return (0); -} diff --git a/1991/ant/index.html b/1991/ant/index.html index ef24aca8c..daf086793 100644 --- a/1991/ant/index.html +++ b/1991/ant/index.html @@ -403,9 +403,9 @@ Location: CA - Canada

To build:

    make all
-

There is an alternate version that might feel a bit more familiar to vi(m) -users. Additionally, the author provided deobfuscated versions including one for -C89. See Alternate code below.

+

The author provided an unobfuscated version and there is an alternate version +that might feel a bit more familiar to vi(m) users. See Alternate +code below.

To use:

    ./ant some_file

NOTE: the file must already exist and not specifying any arg will make the @@ -416,28 +416,23 @@ program exit without doing anything.

    make mole
     ./ant mole

Alternate code:

-

The author provided us with deobfuscated versions including one for C89. The two -C files in deobfuscated, -deobfuscated/ant.c and -deobfuscated/ant-c89.c and the -deobfuscated/Makefile will allow -you to look at them and compile them if you wish. These are exactly like the -original in every way, including in use, except they are deobfuscated.

-

The other version, ant.alt.c changes the -commands slightly so that to go to the first column you should enter 0, to go -to the last column you should enter $, to quit you should enter q, to go -back a word you should enter b and to go forwards a word you should enter w. -Also, and perhaps most useful, rather than having to hit ctrl-L (form-feed, -\f) to get back to command mode you can use the usual ESC (\x1b).

-

These will make it slightly less unwieldy for those familiar with vi(m); the -rest was unchanged.

+

The author provided us with an unobfuscated version, +ant.alt.c.

+

The other alternate version, ant.alt2.c +changes the commands slightly so that to go to the first column you should enter +0, to go to the last column you should enter $, to quit you should enter +q, to go back a word you should enter b and to go forwards a word you should +enter w. Also, and perhaps most useful, rather than having to hit ctrl-L +(form-feed, \f) to get back to command mode you can use the usual ESC +(\x1b); the author explains why this was not originally done in their remarks +below. These slight modifications will make it slightly less unwieldy for those +familiar with vi(m); the rest was unchanged.

Alternate build:

    make alt

Alternate use:

-

For the deobfuscated versions, use ant.alt2 and ant.alt2-c89 as you would -ant above; for the other one, ant.alt, use it as you would ant above but -with the changes in the input keys described above. See the author’s remarks for -the remaining commands.

+

For the unobfuscated version, use ant.alt as you would ant above; for the +other one, use ant.alt2 as you would ant above but with the changes in the +input keys described above. See the author’s remarks for the remaining commands.

Judges’ remarks:

The author was kind enough to supply a list of references below, in case you are still confused after read the source! :-)

@@ -548,11 +543,9 @@ ISBN 0-13-822305-X, chapter 5

Secondary files

    diff --git a/1992/ant/.entry.json b/1992/ant/.entry.json index 83f70a180..b20e0a355 100644 --- a/1992/ant/.entry.json +++ b/1992/ant/.entry.json @@ -42,15 +42,15 @@ "entry_text" : "script to try entry" }, { - "file_path" : "deobfuscated/ant.c", + "file_path" : "ant.alt.c", "inventory_order" : 140, "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "author provided deobfuscated code" + "entry_text" : "author provided unobfuscated code" }, { - "file_path" : "deobfuscated/sleep.c", + "file_path" : "sleep.c", "inventory_order" : 140, "OK_to_edit" : true, "display_as" : "c", @@ -73,21 +73,13 @@ "display_via_github" : true, "entry_text" : "Makefile to demonstrate entry" }, - { - "file_path" : "deobfuscated/Makefile", - "inventory_order" : 150, - "OK_to_edit" : true, - "display_as" : "makefile", - "display_via_github" : true, - "entry_text" : "author provided Makefile for deobfuscated code" - }, { "file_path" : "try.alt.sh", "inventory_order" : 150, "OK_to_edit" : true, "display_as" : "shellscript", "display_via_github" : true, - "entry_text" : "script to try deobfuscated code" + "entry_text" : "script to try unobfuscated code" }, { "file_path" : "ant.test.alt.mk", @@ -95,7 +87,7 @@ "OK_to_edit" : true, "display_as" : "makefile", "display_via_github" : true, - "entry_text" : "Makefile to demonstrate deobfuscated code" + "entry_text" : "Makefile to demonstrate unobfuscated code" }, { "file_path" : "1992_ant.tar.bz2", diff --git a/1992/ant/Makefile b/1992/ant/Makefile index d21e86443..f51f173a6 100644 --- a/1992/ant/Makefile +++ b/1992/ant/Makefile @@ -117,8 +117,8 @@ OBJ= ${PROG}.o DATA= TARGET= ${PROG} # -ALT_OBJ= deobfuscated/${PROG}.o -ALT_TARGET= deobfuscated/${PROG} +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# @@ -146,29 +146,15 @@ am: ant # alternative executable # -alt: data ${PROG}.alt +alt: data ${ALT_TARGET} @${TRUE} -# We keep the alternate code, the deobfuscated code, and its Makefile, in the -# deobfuscated directory but copy the compiled binaries to the entry directory, -# to keep both directories clean, separating the two. The reason we copy the -# binary to the entry directory is so one does not have to do: -# -# ./deobfuscated/ant -# -# but instead just: -# -# ./ant.alt -# -# while still using the Makefile provided with the deobfuscated code. -# -${PROG}.alt: deobfuscated/ant.c - ${MAKE} -C deobfuscated ant - ${CP} -v -f deobfuscated/ant ant.alt +${PROG}.alt: ${PROG}.alt.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} am.alt: ant.alt rm -f am.alt - ln deobfuscated/ant am.alt + cp ant.alt am.alt cp am.alt am.safe.alt cp am.safe.alt am.alt rm -f am.safe.alt @@ -240,7 +226,7 @@ clean: clobber: clean ${RM} -f ${TARGET} ${ALT_TARGET} ${RM} -rf *.dSYM - ${RM} -f am am.safe am.alt am.safe.alt deobfuscated/ant ${PROG}.alt + ${RM} -f am am.safe am.alt am.safe.alt ${PROG}.alt ${RM} -f node.* leaf.* @-if [ -e sandwich ]; then \ ${RM} -f sandwich; \ diff --git a/1992/ant/README.md b/1992/ant/README.md index 8cb86d9b4..fb56f8bef 100644 --- a/1992/ant/README.md +++ b/1992/ant/README.md @@ -29,8 +29,8 @@ where `Makefile` is a Makefile to use and `rule` is an optional rule to use. ## Alternate code: -This version, [ant.c in deobfuscated/](%%REPO_URL%%/1992/ant/deobfuscated/ant.c), was provided by the -author in 2024, and is a deobfuscated version. +This version, [ant.alt.c](%%REPO_URL%%/1992/ant/ant.alt.c), was provided by the +author in 2024, and is an unobfuscated version. ## Alternate build: diff --git a/1992/ant/deobfuscated/ant.c b/1992/ant/ant.alt.c similarity index 100% rename from 1992/ant/deobfuscated/ant.c rename to 1992/ant/ant.alt.c diff --git a/1992/ant/deobfuscated/Makefile b/1992/ant/deobfuscated/Makefile deleted file mode 100644 index 9c2e871d4..000000000 --- a/1992/ant/deobfuscated/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# Anthony's Editor -# -# IOCCC 1991 -# -# Winner Best Utility -# - -CFLAGS = -Os -Wno-deprecated-non-prototype -Wno-unsequenced - -all: build - -build: ant sleep - -clean: - -rm -f ant - -ant: ant.c - ${CC} ${CFLAGS} ant.c -o $@ - -sleep: sleep.c - ${CC} ${CFLAGS} sleep.c -o $@ diff --git a/1992/ant/index.html b/1992/ant/index.html index 8eeea8b0e..4592f9d88 100644 --- a/1992/ant/index.html +++ b/1992/ant/index.html @@ -413,8 +413,8 @@ code below.

    Try:

        ./try.sh

    Alternate code:

    -

    This version, ant.c in deobfuscated/, was provided by the -author in 2024, and is a deobfuscated version.

    +

    This version, ant.alt.c, was provided by the +author in 2024, and is an unobfuscated version.

    Alternate build:

        make alt

    Alternate use:

    @@ -458,13 +458,12 @@ P1003 subcommittee.

  • Makefile - entry Makefile
  • ant.orig.c - original source code
  • try.sh - script to try entry
  • -
  • deobfuscated/ant.c - author provided deobfuscated code
  • -
  • deobfuscated/sleep.c - author provided code for those who need a nap
  • +
  • ant.alt.c - author provided unobfuscated code
  • +
  • sleep.c - author provided code for those who need a nap
  • ant.README.txt - am man page
  • ant.test.mk - Makefile to demonstrate entry
  • -
  • deobfuscated/Makefile - author provided Makefile for deobfuscated code
  • -
  • try.alt.sh - script to try deobfuscated code
  • -
  • ant.test.alt.mk - Makefile to demonstrate deobfuscated code
  • +
  • try.alt.sh - script to try unobfuscated code
  • +
  • ant.test.alt.mk - Makefile to demonstrate unobfuscated code

Secondary files

    diff --git a/1992/ant/deobfuscated/sleep.c b/1992/ant/sleep.c similarity index 100% rename from 1992/ant/deobfuscated/sleep.c rename to 1992/ant/sleep.c diff --git a/1992/ant/try.alt.sh b/1992/ant/try.alt.sh index 36532ec63..2162799ad 100755 --- a/1992/ant/try.alt.sh +++ b/1992/ant/try.alt.sh @@ -10,7 +10,7 @@ if [[ -z "$CC" ]]; then CC="cc" fi -make CC="$CC" alt >/dev/null || exit 1 +make clobber CC="$CC" alt >/dev/null || exit 1 # clear screen after compilation so that only the entry is shown clear @@ -23,13 +23,13 @@ echo 1>&2 -echo "$ ./am.alt Makefile am_clobber # clobber everything except am" 1>&2 +echo "$ ./am.alt Makefile am_alt_clobber # clobber everything except am" 1>&2 read -r -n 1 -p "Press any key to continue: " echo 1>&2 -./am.alt Makefile am_clobber # clobber everything except am +./am.alt Makefile am_alt_clobber # clobber everything except am.alt echo 1>&2 -echo "$ ./am.alt ant.test.alt.mk # run the test Makefile with am" 1>&2 +echo "$ ./am.alt ant.test.alt.mk # run the test Makefile with am.alt" 1>&2 read -r -n 1 -p "Press any key to continue: " echo 1>&2 ./am.alt ant.test.alt.mk # run the test Makefile with am.alt diff --git a/1992/ant/try.sh b/1992/ant/try.sh index 93eb5f721..50d089d65 100755 --- a/1992/ant/try.sh +++ b/1992/ant/try.sh @@ -10,7 +10,7 @@ if [[ -z "$CC" ]]; then CC="cc" fi -make CC="$CC" all >/dev/null || exit 1 +make clobber CC="$CC" all >/dev/null || exit 1 # clear screen after compilation so that only the entry is shown clear diff --git a/1993/ant/.entry.json b/1993/ant/.entry.json index c6e2e720b..e87693cf5 100644 --- a/1993/ant/.entry.json +++ b/1993/ant/.entry.json @@ -50,20 +50,12 @@ "entry_text" : "script to try entry" }, { - "file_path" : "deobfuscated/ant-c89.c", + "file_path" : "ant.alt.c", "inventory_order" : 120, "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "author provided deobfuscated code converted from K&R" - }, - { - "file_path" : "deobfuscated/ant.c", - "inventory_order" : 120, - "OK_to_edit" : true, - "display_as" : "c", - "display_via_github" : true, - "entry_text" : "author provided deobfuscated code" + "entry_text" : "author provided unobfuscated code" }, { "file_path" : "try.alt.sh", @@ -71,23 +63,15 @@ "OK_to_edit" : true, "display_as" : "shellscript", "display_via_github" : true, - "entry_text" : "script to try deobfuscated code" + "entry_text" : "script to try unobfuscated code" }, { - "file_path" : "deobfuscated/Makefile", + "file_path" : "test.alt.mk", "inventory_order" : 140, "OK_to_edit" : true, "display_as" : "makefile", "display_via_github" : true, - "entry_text" : "author provided Makefile for deobfuscated code" - }, - { - "file_path" : "deobfuscated/test.mk", - "inventory_order" : 140, - "OK_to_edit" : true, - "display_as" : "makefile", - "display_via_github" : true, - "entry_text" : "author provided test suite Makefile for deobfuscated code" + "entry_text" : "author provided test suite Makefile for unobfuscated code" }, { "file_path" : "ant.test.mk", @@ -111,7 +95,7 @@ "OK_to_edit" : true, "display_as" : "makefile", "display_via_github" : true, - "entry_text" : "test suite Makefile for deobfuscated code" + "entry_text" : "test suite Makefile for unobfuscated code" }, { "file_path" : "1993_ant.tar.bz2", diff --git a/1993/ant/Makefile b/1993/ant/Makefile index c7023057b..1cbceb69a 100644 --- a/1993/ant/Makefile +++ b/1993/ant/Makefile @@ -116,8 +116,8 @@ OBJ= ${PROG}.o DATA= TARGET= ${PROG} # -ALT_OBJ= deobfuscated/${PROG}.o -ALT_TARGET= deobfuscated/${PROG} +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# @@ -148,22 +148,8 @@ ag.txt: ${PROG}.txt alt: data ${PROG}.alt @${TRUE} -# We keep the alternate code, the deobfuscated code, and its Makefile, in the -# deobfuscated directory but copy the compiled binaries to the entry directory, -# to keep both directories clean, separating the two. The reason we copy the -# binary to the entry directory is so one does not have to do: -# -# ./deobfuscated/ant -# -# but instead just: -# -# ./ant.alt -# -# while still using the Makefile provided with the deobfuscated code. -# -${PROG}.alt: deobfuscated/ant.c - ${MAKE} -C deobfuscated ant - ${CP} -v -f deobfuscated/ant ant.alt +${PROG}.alt: ant.alt.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} ag.alt: ${PROG}.alt ${RM} -f $@ diff --git a/1993/ant/README.md b/1993/ant/README.md index 23e0c3a4d..1e799df33 100644 --- a/1993/ant/README.md +++ b/1993/ant/README.md @@ -4,7 +4,7 @@ make all ``` -The author provided a deobfuscated version. See [Alternate +The author provided an unobfuscated version. See [Alternate code](#alternate-code) below. @@ -36,8 +36,8 @@ For more detailed information see [1993/ant in bugs.html](../../bugs.html#1993_a ## Alternate code: -The [ant.c in deobfuscated/](%%REPO_URL%%/1993/ant/deobfuscated/ant.c) is a -deobfuscated version provided by the author. You can look at this code if you +The [ant.alt.c](%%REPO_URL%%/1993/ant/ant.alt.c) is an +unobfuscated version provided by the author. You can look at this code if you want some clues in how it works. diff --git a/1993/ant/deobfuscated/ant-c89.c b/1993/ant/ant.alt.c similarity index 100% rename from 1993/ant/deobfuscated/ant-c89.c rename to 1993/ant/ant.alt.c diff --git a/1993/ant/ant.alt.test.mk b/1993/ant/ant.alt.test.mk index 6dbf7de57..62c45c7a0 100644 --- a/1993/ant/ant.alt.test.mk +++ b/1993/ant/ant.alt.test.mk @@ -10,7 +10,7 @@ PRG=./ant.alt all: ant.alt char word anchor literal wild closure option branch sub class # -# Built the entry +# Build the entry # ant.alt: Makefile make -f Makefile ant.alt diff --git a/1993/ant/ant.test.mk b/1993/ant/ant.test.mk index afb54deae..e65968a05 100644 --- a/1993/ant/ant.test.mk +++ b/1993/ant/ant.test.mk @@ -10,7 +10,7 @@ PRG=./ant all: ant char word anchor literal wild closure option branch sub class # -# Built the entry +# Build the entry # ant: Makefile make -f Makefile ant diff --git a/1993/ant/deobfuscated/Makefile b/1993/ant/deobfuscated/Makefile deleted file mode 100644 index 825354fc9..000000000 --- a/1993/ant/deobfuscated/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -CFLAGS= -Os -Wno-deprecated-non-prototype - -all: build - -build: ant ant-c89 - -clean: - -rm -f ant ant-c89 *.out - -# Original K&R version. -ant$E: ant.c - ${CC} ${CFLAGS} ant.c -o $@ - -ant-c89$E: ant-c89.c - ${CC} ${CFLAGS} ant-c89.c -o $@ - -test: ant$E - ${MAKE} -f test.mk PRG=./ant >ant.out 2>&1 - -test-c89: ant-c89$E - ${MAKE} -f test.mk PRG=./ant-c89 >ant-c89.out 2>&1 - -# Make sure the old and revised versions behave the same. -test-compare: build test test-c89 - sed -e 's/-c89//' ant-c89.out | diff -u ant.out - - rm *.out - diff --git a/1993/ant/deobfuscated/ant.c b/1993/ant/deobfuscated/ant.c deleted file mode 100644 index b42dac68f..000000000 --- a/1993/ant/deobfuscated/ant.c +++ /dev/null @@ -1,449 +0,0 @@ -/* - * ag.c - * - * Anthony's Grep - * - * Public Domain 1992, 1993 by Anthony Howe. All rights released. - * - * Synopsis: ag [files...] - */ - -#include -#include - -#ifndef ARRAY -#define ARRAY 512 -#endif - -#define EXIT_MATCH 0 -#define EXIT_NOMATCH 1 -#define EXIT_USAGE 2 -#define EXIT_ERROR 3 - -/* - * Non-deterministic Finite-state Automaton - * - * An NFA is a directed graph whose nodes are called states. Each - * state is either a labeled state denoting a literal value, or a - * NIL state that has no label. Each state has at most two edges - * leaving it. There is only one start state and one final state, - * which may be the same state. - * - * Various state-structures can be represented by an array. These - * structures have only one start point being the left most index, - * and one end point being the right most index. - * - * a ...[a]... - * - * ab ...[a][b]... - * - * ^a [bol][a]... - * - * a$ ...[a][eol] - * - * a.b ...[a][wild][b]... - * _ - * v \ - * a* ...[\][a][\]... - * \____^ - * - * a? ...[\][a]... - * \___^ - * _______________ - * / v - * a|b ...[\][a][/][stop][pass][b]... - * \_____________^ - * - * [a0-9] ...[class][a][0][1][2][3][4][5][6][7][8][9][stop]... - * - * [^a0-9] ...[nclass][a][0][1][2][3][4][5][6][7][8][9][stop]... - * - * _____________ _______________ - * / v/ v - * a|b|c ...[\][a][/][stop][\][b][/][stop][pass][c]... - * \_____________^\_____________^ - * - * _ _______________ - * v \ / v - * a*(b|c) ...[\][a][\][\][b][/][stop][pass][c]... - * \____^ \_____________^ - */ - -#define BOL ('\n') -#define EOL ('\n') -#define STOP ('\n') -#define WILD (0) -#define CLASS (-1) -#define NCLASS (-2) -#define PASS (-3) -#define JUMP(n) (-4-(n)) -#define CHAR(c) (c) -#define ISJUMP(x) ((x) <= PASS) -#define ISCHAR(x) (0 <= (x)) - -/* - * Special member that is contained in all sets. It is the location - * of the WILD element that the pattern array is initialised with in - * main(). Due to the way from() performs the pattern search, this - * member is always the first member of a set and so can be used to - * delimit sets. - */ -#define MEMBER 2 - -typedef int I; -typedef char C; -typedef void V; - -I chr; -I final; -I nesting; -I array[ARRAY], next; - -/* - * The number of states will always be related to the number of - * unique sets in set[], which is less-than-equal-to next_set. - * There is no need to bounds check dfa[][] since next_set - * is bounds checked in from() and would cause an error well in - * advance of overflowing the total number of possible states. - */ -I dfa[ARRAY][ARRAY]; -I set[ARRAY], new_set, next_set; - -I new(); -I match(); -I inclass(); -I isfinal(); -V expr(); -V term(); -V factor(); -V literal(); -V from(); - -I -main(argc, argv) -I argc; -C **argv; -{ - I error; - FILE *file; - C *name, line[BUFSIZ+1]; - - if (--argc < 1) { - fprintf(stderr, "usage: ag [files...]\n"); - return (EXIT_USAGE); - } - - /* Initialise array[] = [pass][3][wild][1]... */ - new(PASS); - new(JUMP(next+2)); - new(WILD); - new(JUMP(next-1)); - - expr(&(*++argv)); - - *line = BOL; - next_set = 1; - error = EXIT_NOMATCH; - do { - name = "-"; - file = stdin; - if (1 < argc && **++argv != '-') { - if (NULL == (file = fopen(name = *argv, "r"))) { - fprintf(stderr, - "ag: Failed to open '%s'.\n", name); - error = EXIT_ERROR; - continue; - } - } - while (fgets(line+1, BUFSIZ, file) != NULL) { - if (match(line)) { - printf("%s:%s", name, line+1); - error = EXIT_MATCH; - } - } - fclose(file); - } while (1 < --argc); - return (error); -} - -/* - * expr - * term - * expr | term - */ -V -expr(p) -C **p; -{ - I i, j; - i = new(PASS); - term(p); - while (**p == '|') { - ++*p; - j = new(PASS); - new(STOP); - array[i] = JUMP(next); - i = new(PASS); - term(p); - array[j] = JUMP(next); - } -} - -/* - * term - * factor - * term factor - */ -V -term(p) -C **p; -{ - while (**p != '|' && (0 == nesting || **p != ')') && **p != '\0') - factor(p); -} - -/* - * factor - * ^ - * $ - * literal - * ( expr ) - * factor * - */ -V -factor(p) -C **p; -{ - I i = new(PASS); - if (**p == '^') { - ++*p; - new(BOL); - } else if (**p == '$') { - ++*p; - new(EOL); - } else if (**p == '(') { - ++*p; - ++nesting; - expr(p); - if (**p != ')') { - fprintf(stderr, "ag: Missing ')'.\n"); - exit(EXIT_ERROR); - } - --nesting; - ++*p; - } else { - literal(p); - } - if (**p == '*') { - ++*p; - array[i] = JUMP(next); - new(JUMP(i+1)); - } else if (**p == '?') { - ++*p; - array[i] = JUMP(next); - } -} - -/* - * literal - * . - * class - * character - * \ character - * - * class - * [ ] ] - * [ range ] - * [ ] range ] - * [ ^ range ] - * [ ^ ] range ] - * - * range - * - - * character - * range character - * character_low - character_hi - * range character_low - character_hi - */ -V -literal(p) -C **p; -{ - I i, j; - if (**p == '.') { - new(WILD); - } else if (**p == '[') { - ++*p; - i = new(CLASS); - if (**p == '^') { - ++*p; - array[i] = NCLASS; - } - if (**p == ']') { - ++*p; - new(CHAR(']')); - } - while ((i = **p) != ']') { - if ((*p)[1] == '-' && i < (j = (*p)[2])) { - while (i <= j) - new(CHAR(i++)); - *p += 3; - } else { - new(CHAR(i)); - ++*p; - } - } - new(STOP); - } else { - if (**p == '\\') - ++*p; - new(CHAR(**p)); - } - ++*p; -} - -/* - * Allocate an element from the pool of free elements. The - * global variable 'next' points to the next free element in - * the pool. Return the allocated element's index. - */ -I -new(c) -I c; -{ - if (ARRAY <= next) { - fprintf(stderr, "ag: Pattern too long.\n"); - exit(EXIT_ERROR); - } - array[next] = c; - return (next++); -} - -/* - * Find all labeled elements reachable from element 'p' and add to - * the global set 'new_set' those that are labeled with global 'chr'. - * 'final' is true if the final state can be reached. - */ -V -from(p) -I p; -{ - I i = new_set; - if (next <= p) - return; - if (ISJUMP(array[p])) { - if (array[p] != PASS) - from(JUMP(array[p])); - from(p+1); - } else if (WILD == array[p] || array[p] == CHAR(chr) || inclass(&p)) { - /* If element 'p' already a member of set 't' then return. */ - while (i < next_set) - if (set[i++] == p) - return; - /* Can we reach the final state from here? */ - final = isfinal(p+1); - - if (ARRAY <= next_set) { - fprintf(stderr, "ag: Out of space.\n"); - exit(EXIT_ERROR); - } - /* Add element 'p' to set 't'. */ - set[next_set++] = p; - } -} - -/* - * If element pointed to by 'p' is CLASS, return true if 'c' is in - * the class. If the element is NCLASS, return true if 'c' is not - * in the class. Pass back the end of the character class in 'p'. - */ -I -inclass(p) -I *p; -{ - I i = 0, j = 0; - if (array[*p] == CLASS || (j = array[*p] == NCLASS)) { - while (array[++*p] != STOP) - if (array[*p] == CHAR(chr)) - i = 1; - } - return (i ^ j); -} - -/* - * Return true if the end point (final state) can be reached - * from element 'p' without crossing any labeled elements. - */ -I -isfinal(p) -I p; -{ - return ( - final || p == next || ( - ISJUMP(array[p]) && ( - (array[p] != PASS && isfinal(JUMP(array[p]))) - || isfinal(p+1) - ) - ) - ); -} - -/* - * Return true if the given string matches. The search string must - * be of the form "\ntext\n\0" in order to handle line anchoring. - */ -I -match(p) -C *p; -{ - I state, i, j, k; - final = state = 0; - while (*p != '\0' && 0 <= state) { - if (0 < (i = dfa[state][*p])) { - /* Transition on known DFA state. */ - state = i; - } else { - /* Perform lazy DFA evaluation from NFA. - * - * Compute new_set, which represents a transition - * from the current state's set on character *p. - * dfa[state]['\0'] contains the set[] index for - * the current state. - */ - chr = *p; - i = dfa[state]['\0']; - j = new_set = next_set; - do - from(set[i++]+1); - while (set[i] != MEMBER); - - /* Determine if this is a known set or not. */ - i = k = 0; - while (i < new_set) { - if (set[i] == MEMBER) { - j = new_set; - ++k; - } - if (set[i++] == set[j]) { - if (next_set <= ++j) { - j = new_set; - if (set[i] == MEMBER) { - /* Known set found. */ - next_set = new_set; - break; - } - } - } else { - j = new_set; - } - } - if (new_set < next_set) - /* New set found. */ - dfa[++k]['\0'] = new_set; - state = dfa[state][*p] = final ? -1 : k; - } - ++p; - } - return (state < 0); -} - diff --git a/1993/ant/index.html b/1993/ant/index.html index 7d4f16c9c..2ceb60038 100644 --- a/1993/ant/index.html +++ b/1993/ant/index.html @@ -403,7 +403,7 @@ Location: CA - Canada

    To build:

        make all
    -

    The author provided a deobfuscated version. See Alternate +

    The author provided an unobfuscated version. See Alternate code below.

    Bugs and (Mis)features:

    The current status of this entry is:

    @@ -415,8 +415,8 @@ code below.

    Try:

        ./try.sh

    Alternate code:

    -

    The ant.c in deobfuscated/ is a -deobfuscated version provided by the author. You can look at this code if you +

    The ant.alt.c is an +unobfuscated version provided by the author. You can look at this code if you want some clues in how it works.

    Alternate build:

    If you wish to build this deobfuscated version, you can do so like:

    @@ -472,14 +472,12 @@ more information.

  • ant.orig.c - original source code
  • ant.txt - ag man page
  • try.sh - script to try entry
  • -
  • deobfuscated/ant-c89.c - author provided deobfuscated code converted from K&R
  • -
  • deobfuscated/ant.c - author provided deobfuscated code
  • -
  • try.alt.sh - script to try deobfuscated code
  • -
  • deobfuscated/Makefile - author provided Makefile for deobfuscated code
  • -
  • deobfuscated/test.mk - author provided test suite Makefile for deobfuscated code
  • +
  • ant.alt.c - author provided unobfuscated code
  • +
  • try.alt.sh - script to try unobfuscated code
  • +
  • test.alt.mk - author provided test suite Makefile for unobfuscated code
  • ants.txt - lyrics of the Ants Go Marching song
  • ant.test.mk - test suite Makefile
  • -
  • ant.alt.test.mk - test suite Makefile for deobfuscated code
  • +
  • ant.alt.test.mk - test suite Makefile for unobfuscated code

Secondary files

    diff --git a/1993/ant/deobfuscated/test.mk b/1993/ant/test.alt.mk similarity index 66% rename from 1993/ant/deobfuscated/test.mk rename to 1993/ant/test.alt.mk index 041459bc9..5c49f0165 100644 --- a/1993/ant/deobfuscated/test.mk +++ b/1993/ant/test.alt.mk @@ -13,13 +13,13 @@ all: char word anchor literal wild closure option branch sub class # empty: - $(PRG) '' test.mk + $(PRG) '' test.alt.mk char: - $(PRG) 'q' test.mk + $(PRG) 'q' test.alt.mk word: - $(PRG) 'simple' test.mk + $(PRG) 'simple' test.alt.mk # # Test meta characters. @@ -28,28 +28,28 @@ word: anchor: anchor1 anchor2 anchor3 anchor4 anchor5 anchor1: - $(PRG) '^anchor1' test.mk + $(PRG) '^anchor1' test.alt.mk anchor2: - $(PRG) 'Grep$$' test.mk + $(PRG) 'Grep$$' test.alt.mk # # Find all empty lines. # anchor3: - $(PRG) '^$$' test.mk + $(PRG) '^$$' test.alt.mk # # This is valid but will never match. # anchor4: - -$(PRG) 'x^a' test.mk + -$(PRG) 'x^a' test.alt.mk # # This is valid but will never match. # anchor5: - -$(PRG) 'mk$$x' test.mk + -$(PRG) 'mk$$x' test.alt.mk literal: literal1 literal2 @@ -57,13 +57,13 @@ literal: literal1 literal2 # Every line with a dollar-sign. # literal1: - $(PRG) '\$$' test.mk + $(PRG) '\$$' test.alt.mk # # Every line with a backslash. # literal2: - $(PRG) '\\' test.mk + $(PRG) '\\' test.alt.mk # # wild #1# @@ -71,7 +71,7 @@ literal2: # wild #%# # wild: - $(PRG) '#.#' test.mk + $(PRG) '#.#' test.alt.mk # # closure !! @@ -79,7 +79,7 @@ wild: # closure !xxxxxx! # closure: - $(PRG) 'closure !x*!' test.mk + $(PRG) 'closure !x*!' test.alt.mk # # option ++ @@ -91,45 +91,45 @@ closure: option: option1 option2 option1: - $(PRG) '+b?+' test.mk + $(PRG) '+b?+' test.alt.mk option2: - $(PRG) '+.?+' test.mk + $(PRG) '+.?+' test.alt.mk branch: branch1 branch2 branch3 branch4 branch5 branch6 branch1: - $(PRG) 'q|simple' test.mk + $(PRG) 'q|simple' test.alt.mk # # This pattern should be the same as '(^all)|(Public)|(Grep$)'. # branch2: - $(PRG) '^all|Public|Grep$$' test.mk + $(PRG) '^all|Public|Grep$$' test.alt.mk # # This pattern should generate the same results as branch2. # branch3: - $(PRG) 'Grep$|^all|Public' test.mk + $(PRG) 'Grep$|^all|Public' test.alt.mk # # Null expression between start of pattern and vertical-line. # branch4: - $(PRG) '|Grep' test.mk + $(PRG) '|Grep' test.alt.mk # # Null expression between vertical-line and end of pattern. # branch5: - $(PRG) 'Grep|' test.mk + $(PRG) 'Grep|' test.alt.mk # # Null expression between vertical-line and vertical-line. # branch6: - $(PRG) 'all||Grep' test.mk + $(PRG) 'all||Grep' test.alt.mk # # sub aabcbcbcxx @@ -144,49 +144,49 @@ sub: sub0 sub1 sub2 sub3 sub4 sub5 lparen1 lparen2 rparen1 rparen2 # Null sub-expressions. # sub0: - $(PRG) 's()u()b()' test.mk + $(PRG) 's()u()b()' test.alt.mk sub1: - $(PRG) '#(1|%)#' test.mk + $(PRG) '#(1|%)#' test.alt.mk sub2: - $(PRG) 'aa((bc)*|g)xx' test.mk + $(PRG) 'aa((bc)*|g)xx' test.alt.mk # # Null expression between the left-parenthesis and the vertical-line. # sub3: - $(PRG) '#(|1)#' test.mk + $(PRG) '#(|1)#' test.alt.mk # # Null expression between the vertical-line and the right-parenthesis. # sub4: - $(PRG) '#(1|)#' test.mk + $(PRG) '#(1|)#' test.alt.mk # # Null expression between the vertical-line and the right-parenthesis. # sub5: - $(PRG) '#(%||1)#' test.mk + $(PRG) '#(%||1)#' test.alt.mk # # Missing left-parenthesis generates an error. # lparen1: - -$(PRG) 'left ( only' test.mk + -$(PRG) 'left ( only' test.alt.mk lparen2: - $(PRG) 'left \( only' test.mk + $(PRG) 'left \( only' test.alt.mk # # Right-parenthesis without preceding left parenthesis should be a literal. # rparen1: - -$(PRG) 'right ) only' test.mk + -$(PRG) 'right ) only' test.alt.mk rparen2: - $(PRG) 'right \) only' test.mk + $(PRG) 'right \) only' test.alt.mk # # 12345678 @@ -208,26 +208,26 @@ rparen2: class: class1 class2 class3 class4 class5 class6 class7 class8 class1: - $(PRG) '=[09]=' test.mk + $(PRG) '=[09]=' test.alt.mk class2: - $(PRG) '=[^09]=' test.mk + $(PRG) '=[^09]=' test.alt.mk class3: - $(PRG) '=[]]=' test.mk + $(PRG) '=[]]=' test.alt.mk class4: - $(PRG) '=[^]]=' test.mk + $(PRG) '=[^]]=' test.alt.mk class5: - $(PRG) '=[0-9]=' test.mk + $(PRG) '=[0-9]=' test.alt.mk class6: - $(PRG) '=[^0-9]=' test.mk + $(PRG) '=[^0-9]=' test.alt.mk class7: - -$(PRG) '=[3-1]=' test.mk + -$(PRG) '=[3-1]=' test.alt.mk class8: - $(PRG) '=[-13]=' test.mk + $(PRG) '=[-13]=' test.alt.mk diff --git a/1995/garry/.entry.json b/1995/garry/.entry.json index 747da2eb5..86813cb4d 100644 --- a/1995/garry/.entry.json +++ b/1995/garry/.entry.json @@ -71,7 +71,7 @@ "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "deobfuscated and formatted source code" + "entry_text" : "unobfuscated and formatted source code" }, { "file_path" : "1995_garry.tar.bz2", diff --git a/1995/garry/index.html b/1995/garry/index.html index c7318103f..0283f2e30 100644 --- a/1995/garry/index.html +++ b/1995/garry/index.html @@ -474,7 +474,7 @@ variables by their binary representation, e.g.:

  • 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 - deobfuscated and formatted source code
  • +
  • garry.fmt.c - unobfuscated and formatted source code

Secondary files

    diff --git a/2015/howe/.entry.json b/2015/howe/.entry.json index dddc13493..2e3246238 100644 --- a/2015/howe/.entry.json +++ b/2015/howe/.entry.json @@ -65,6 +65,22 @@ "display_via_github" : true, "entry_text" : "script to run test suite" }, + { + "file_path" : "prog.alt-test.sh", + "inventory_order" : 100, + "OK_to_edit" : true, + "display_as" : "shellscript", + "display_via_github" : true, + "entry_text" : "script to run test suite with alternate code" + }, + { + "file_path" : "try.alt.sh", + "inventory_order" : 100, + "OK_to_edit" : true, + "display_as" : "shellscript", + "display_via_github" : true, + "entry_text" : "script to try alternate code" + }, { "file_path" : "try.sh", "inventory_order" : 100, @@ -82,28 +98,20 @@ "entry_text" : "cc man page" }, { - "file_path" : "deobfuscated/Makefile", - "inventory_order" : 200, - "OK_to_edit" : true, - "display_as" : "makefile", - "display_via_github" : true, - "entry_text" : "deobfuscated Makefile" - }, - { - "file_path" : "deobfuscated/err.h", + "file_path" : "err.h", "inventory_order" : 210, "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "deobfuscated err.h header file" + "entry_text" : "unobfuscated err.h header file" }, { - "file_path" : "deobfuscated/prog.c", + "file_path" : "prog.alt2.c", "inventory_order" : 210, "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "deobfuscated source code" + "entry_text" : "unobfuscated source code" }, { "file_path" : "war-and-peace.txt", diff --git a/2015/howe/.gitignore b/2015/howe/.gitignore index 585dc8bf0..9f59fe1fb 100644 --- a/2015/howe/.gitignore +++ b/2015/howe/.gitignore @@ -8,5 +8,6 @@ indent.o makeholes prog prog.alt +prog.alt2 prog.orig war-and-peace.txt diff --git a/2015/howe/Makefile b/2015/howe/Makefile index 35e6f3072..765611d7a 100644 --- a/2015/howe/Makefile +++ b/2015/howe/Makefile @@ -112,11 +112,11 @@ PROG= prog # OBJ= ${PROG}.o CSRC= ${PROG}.o -DATA= deobfuscated/Makefile deobfuscated/err.h deobfuscated/prog.c +DATA= TARGET= ${PROG} # -ALT_OBJ= ${PROG}.alt.o -ALT_TARGET= ${PROG}.alt +ALT_OBJ= ${PROG}.alt.o ${PROG}.alt2.o +ALT_TARGET= ${PROG}.alt ${PROG}.alt2 ################# @@ -148,6 +148,13 @@ alt: data ${ALT_TARGET} ${PROG}.alt: ${PROG}.alt.c ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} +${PROG}.alt2: ${PROG}.alt2.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + +# Test suite for alt code +test.alt: makeholes prog.alt-test.sh ${TARGET} + ${SHELL} ./prog.alt-test.sh + # data files # data: ${DATA} diff --git a/2015/howe/README.md b/2015/howe/README.md index 9e00a9e2e..13398f1fd 100644 --- a/2015/howe/README.md +++ b/2015/howe/README.md @@ -4,8 +4,20 @@ make ``` -There is an alternate version provided. See [Alternate code](#alternate-code) -below. +There are two alternate versions provided by the author. See [Alternate +code](#alternate-code) and the author's remarks below for more details. + + +### Bugs and (Mis)features: + +The current status of this entry is: + +``` + STATUS: known bug - please help us fix +``` + +For more detailed information see [2015/howe in bugs.html](../../bugs.html#2015_howe). + ## To use: @@ -27,11 +39,15 @@ below. ## Alternate code: This alternate version does not use a 64-bit FNV hash. This was the original -entry but was changed to be the alt version. +entry but was changed to be the alt version. Later, in 2024, the author provided +an unobfuscated version which is in +[prog.alt2.c](%%REPO_URL%%/2015/howe/prog.alt2.c). ### Alternate build: +To build these versions: + ``` make alt ``` @@ -39,7 +55,14 @@ entry but was changed to be the alt version. ### Alternate use: -Use `prog.alt` as you would `prog` above. +Use `prog.alt` and/or `prog.alt2` as you would `prog` above. + + +### Alternate try: + +``` + ./try.alt.sh +``` ## Judges' remarks: @@ -55,9 +78,9 @@ Is this code a bug or a feature? :-) Or is this an attempt to corrupt the programming of our youth? Should we heed Kyle's mom words that she uttered during a South Park P.T.A. Meeting? - "We must stop dirty (C) language from getting to our children's ears!" - - [Blame Canada](https://www.youtube.com/watch?v=bOR38552MJA) +> "We must stop dirty (C) language from getting to our children's ears!" +> +> [Blame Canada](https://www.youtube.com/watch?v=bOR38552MJA) Or should we teach our youth to understand the intricacies of this code? Ying Tong Iddle I Po! We suggest you read the source for yourself, which diff --git a/2015/howe/deobfuscated/Makefile b/2015/howe/deobfuscated/Makefile deleted file mode 100644 index 4a875a465..000000000 --- a/2015/howe/deobfuscated/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -.POSIX : - -.SUFFIXES : -A = .a -O = .o -.SUFFIXES : .c .h .i $O $A - -######################################################################## -### No further configuration beyond this point. -######################################################################## - -top_srcdir := .. -CC := gcc -CFLAGS := -g -O2 -std=c99 -Wall -pedantic -Wno-char-subscripts -LDFLAGS := - -# Assume a POSIX compliant shell. -# -# On Linux -# /bin/sh = /bin/bash -# -# On NetBSD -# /bin/ksh -# /usr/pkg/bin/bash -# -# On OpenBSD -# /bin/ksh = /bin/pdksh -# -SHELL := /bin/ksh - -W64CC := i686-w64-mingw32-gcc -W64CFLAGS := -I. -Os -s -std=c99 -Wno-char-subscripts - -ZIP := README.txt prog-w64.exe prog-test.sh avgtime.sh makeholes-w64.exe - -.c$O : - ${CC} ${CFLAGS} -c $< - -.c$E : - $(CC) $(CFLAGS) $(LDFLAGS) -o$* $< - -$O : - $(LD) $(LDFLAGS) -o$* $*$O - -.c.i: - ${CC} -E ${CFLAGS} $*.c >$*.i - -######################################################################## - -all: build - -build: prog - -clean: - -rm prog *.exe *.i *$O *.tmp *.rej *.orig *.core *.out 2>/dev/null - -distclean: clean - -prog: prog.c - ${CC} ${CFLAGS} ${LDFLAGS} -o$@ prog.c - -prog-w64: err.h prog.c - ${W64CC} ${W64CFLAGS} ${LDFLAGS} -o$@ prog.c - -test: - ${SHELL} ${top_srcdir}/prog-test.sh - -test-w64: - ${SHELL} ${top_srcdir}/prog-test.sh -w diff --git a/2015/howe/deobfuscated/err.h b/2015/howe/err.h similarity index 100% rename from 2015/howe/deobfuscated/err.h rename to 2015/howe/err.h diff --git a/2015/howe/index.html b/2015/howe/index.html index 9f0023a7f..03c6bd9ed 100644 --- a/2015/howe/index.html +++ b/2015/howe/index.html @@ -403,8 +403,12 @@ Location: CA - Canada

    To build:

        make
    -

    There is an alternate version provided. See Alternate code -below.

    +

    There are two alternate versions provided by the author. See Alternate +code and the author’s remarks below for more details.

    +

    Bugs and (Mis)features:

    +

    The current status of this entry is:

    +
        STATUS: known bug - please help us fix
    +

    For more detailed information see 2015/howe in bugs.html.

    To use:

        ./prog file1 file2
     
    @@ -413,11 +417,16 @@ below.

        ./try.sh

    Alternate code:

    This alternate version does not use a 64-bit FNV hash. This was the original -entry but was changed to be the alt version.

    +entry but was changed to be the alt version. Later, in 2024, the author provided +an unobfuscated version which is in +prog.alt2.c.

    Alternate build:

    +

    To build these versions:

        make alt

    Alternate use:

    -

    Use prog.alt as you would prog above.

    +

    Use prog.alt and/or prog.alt2 as you would prog above.

    +

    Alternate try:

    +
        ./try.alt.sh

    Judges’ remarks:

    This is the best use of the FNV that we have seen in the IOCCC so far! The output, when used without -d, is compatible with POSIX diff(1) and @@ -427,8 +436,10 @@ entries have been submitted.

    Is this code a bug or a feature? :-) Or is this an attempt to corrupt the programming of our youth? Should we heed Kyle’s mom words that she uttered during a South Park P.T.A. Meeting?

    +

    “We must stop dirty (C) language from getting to our children’s ears!”

    Blame Canada

    +

    Or should we teach our youth to understand the intricacies of this code? Ying Tong Iddle I Po! We suggest you read the source for yourself, which might be easier than the academic papers it was inspired by.

    @@ -521,12 +532,13 @@ Comm. of ACM, Vol. 18, June 1975, pages 341-343
  • prog.orig.c - original source code
  • avgtime.sh - support script
  • makeholes.c - C code to add random holes to a file
  • +
  • prog.alt-test.sh - script to run test suite with alternate code
  • prog-test.sh - script to run test suite
  • +
  • try.alt.sh - script to try alternate code
  • try.sh - script to try entry
  • cc.1 - cc man page
  • -
  • deobfuscated/Makefile - deobfuscated Makefile
  • -
  • deobfuscated/err.h - deobfuscated err.h header file
  • -
  • deobfuscated/prog.c - deobfuscated source code
  • +
  • err.h - unobfuscated err.h header file
  • +
  • prog.alt2.c - unobfuscated source code
  • war-and-peace.txt - War and Peace translated to English

Secondary files

diff --git a/2015/howe/prog-test.sh b/2015/howe/prog-test.sh index 55a8293cd..4715a6691 100755 --- a/2015/howe/prog-test.sh +++ b/2015/howe/prog-test.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash # Assume a POSIX compliant shell. +make all || exit 1 PROG="./prog" args=$(getopt 'f:w' "$@") diff --git a/2015/howe/prog.alt-test.sh b/2015/howe/prog.alt-test.sh new file mode 100755 index 000000000..384b3dbd1 --- /dev/null +++ b/2015/howe/prog.alt-test.sh @@ -0,0 +1,137 @@ +#!/usr/bin/env bash +# Assume a POSIX compliant shell. + +make alt || exit 1 +PROG="./prog.alt" + +args=$(getopt 'f:w' "$@") +status="$?" +if [[ $status -ne 0 ]]; then + echo "usage: prog.alt-test.sh [-w][-f flags]" + exit 2 +fi +set -- "$args" +while [[ $# -gt 0 ]]; do + case "$1" in + -w) + PROG="./prog-w64" + ;; + -f) + flags=$2; shift + ;; + --) + shift; break + ;; + *) + ;; + esac + shift +done + +function distance +{ + typeset A="$1"; shift + typeset B="$1"; shift + typeset expect="$1"; shift + + printf "%s" "$A" | sed -e 's/./&\ +/g' >"$A.tmp" + printf "%s" "$B" | sed -e 's/./&\ +/g' >"$B.tmp" + + echo "<<< A='$A' B='$B' $*" + typeset dist + dist=$("$PROG" -d "$@" "$A.tmp" "$B.tmp" | tr -d '\r') + + printf '>>> got=%d expect=%d ' "$dist" "$expect" + + if [[ "$dist" -ne "$expect" ]]; then + echo FAIL + return 1 + fi + + echo -OK- + return 0 +} + +function dif +{ + typeset A="$1"; shift + typeset B="$1"; shift + typeset expect="$1"; shift + + echo "==== $A $B" + "$PROG" "$A" "$B" | tee patch.tmp + typeset ex=$? + + if [[ "$expect" -eq 0 ]]; then + printf "got=%d expect=%d " "$ex" "$expect" + if [[ $expect -ne $ex ]]; then + echo FAIL + return 1 + fi + echo -OK- + return 0 + fi + + printf "forward patch " + cp "$A" copy.tmp + if ! patch -f -s copy.tmp patch.tmp ; then + echo FAIL + return 1 + fi + echo -OK- + + printf "forward compare " + if ! cmp "$B" copy.tmp ; then + echo FAIL + return 1 + fi + echo -OK- + + printf "reverse patch " + if ! patch -R -f -s copy.tmp patch.tmp ; then + echo FAIL + return 1 + fi + echo -OK- + + printf "reverse compare " + if ! cmp "$A" copy.tmp ; then + echo FAIL + return 1 + fi + echo -OK- + + return 0 +} + +distance "1" "1" 0 "$flags" +distance "1" "A" 2 "$flags" +distance "123" "ABCDE" 8 "$flags" +distance "ABCDE" "123" 8 "$flags" +distance "ABD" "ABCD" 1 "$flags" +distance "ABCD" "ABD" 1 "$flags" +distance "ABCD" "ACDBECFD" 4 "$flags" +distance "ABCDEF" "ABXYEFCD" 6 "$flags" +distance "ABCDEFGHIJK" "ABCEFGIJKDEFGHIJK" 6 "$flags" +distance "ABCABBA" "CBABAC" 5 "$flags" +distance "ACEBDABBABED" "ACBDEACBED" 6 "$flags" + +touch EMPTY.tmp +dif 1.tmp 1.tmp 0 +dif EMPTY.tmp 123.tmp 1 +dif 123.tmp EMPTY.tmp 1 +dif ABCD.tmp ACDBECFD.tmp 1 +dif ACDBECFD.tmp ABCD.tmp 1 +dif 123.tmp ABCDE.tmp 1 +dif ABCDE.tmp 123.tmp 1 + +# Note that prog and diff(1) have same edit distance, +# but differ in the output. +dif CBABAC.tmp ABCABBA.tmp 1 +dif ABCABBA.tmp CBABAC.tmp 1 + +rm copy.tmp* 2>/dev/null + +echo DONE diff --git a/2015/howe/deobfuscated/prog.c b/2015/howe/prog.alt2.c similarity index 100% rename from 2015/howe/deobfuscated/prog.c rename to 2015/howe/prog.alt2.c diff --git a/2015/howe/try.alt.sh b/2015/howe/try.alt.sh new file mode 100755 index 000000000..49413d9b9 --- /dev/null +++ b/2015/howe/try.alt.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC entry 2015/howe alt code +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" alt >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + + +read -r -n 1 -p "Press any key to run: ./prog.alt prog.alt.c prog.c: " +echo 1>&2 +./prog.alt prog.alt.c prog.c +echo 1>&2 + +read -r -n 1 -p "Press any key to run: make test (space = next page, q = quit): " +echo 1>&2 +make test | less -rEXFK +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./prog.alt -d ABXYEFCD.tmp ACDBECFD.tmp: " +echo 1>&2 +./prog.alt -d ABXYEFCD.tmp ACDBECFD.tmp +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./prog.alt ABXYEFCD.tmp ACDBECFD.tmp: " +echo 1>&2 +./prog.alt ABXYEFCD.tmp ACDBECFD.tmp +echo 1>&2 + +rm -f curds.tmp whey.tmp +read -r -n 1 -p "Press any key to run: cp -vf cc.1 curds.tmp: " +echo 1>&2 +cp -vf cc.1 curds.tmp +echo 1>&2 +read -r -n 1 -p "Press any key to run: cp -vf cc.1 whey.tmp: " +echo 1>&2 +cp -vf cc.1 whey.tmp + +read -r -n 1 -p "Press any key to run: chmod -v 666 whey.tmp: " +echo 1>&2 +chmod -v 666 whey.tmp +echo 1>&2 + +if [[ ! -x makeholes ]]; then + read -r -n 1 -p "Press any key to run: make makeholes: " + echo 1>&2 + make makeholes + echo 1>&2 +fi + +read -r -n 1 -p "Press any key to run: ./makeholes -n 1000 whey.tmp: " +echo 1>&2 +./makeholes -n 1000 whey.tmp +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./prog.alt curds.tmp whey.tmp (space = next page, q = quit): " +echo 1>&2 +./prog.alt curds.tmp whey.tmp | less -rEXFK +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./avgtime.sh 100 ./prog.alt curds.tmp whey.tmp: " +echo 1>&2 +./avgtime.sh 100 ./prog.alt curds.tmp whey.tmp +echo 1>&2 + +read -r -n 1 -p "Press any key to run: cp -vf war-and-peace.txt nuked.tmp: " +echo 1>&2 +cp -vf war-and-peace.txt nuked.tmp +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./makeholes -c'~' -n 1000 nuked.tmp: " +echo 1>&2 +./makeholes -c'~' -n 1000 nuked.tmp +echo 1>&2 + +echo "$ ./prog.alt war-and-peace.txt nuked.tmp" 1>&2 +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " +echo 1>&2 +./prog.alt war-and-peace.txt nuked.tmp | less -rEXFK +echo 1>&2 + +echo "$ ./avgtime.sh 100 ./prog.alt war-and-peace.txt nuked.tmp" 1>&2 +read -r -n 1 -p "Press any key to continue: " +echo 1>&2 +./avgtime.sh 100 ./prog.alt war-and-peace.txt nuked.tmp +echo 1>&2 diff --git a/2015/howe/try.sh b/2015/howe/try.sh index b45203d55..a01f5d957 100755 --- a/2015/howe/try.sh +++ b/2015/howe/try.sh @@ -82,12 +82,14 @@ echo 1>&2 ./makeholes -c'~' -n 1000 nuked.tmp echo 1>&2 -read -r -n 1 -p "Press any key to run: ./prog war-and-peace.txt nuked.tmp (space = next page, q = quit): " +echo "$ ./prog war-and-peace.txt nuked.tmp" 1>&2 +read -r -n 1 -p "Press any key to continue (space = next page, q = quit): " echo 1>&2 ./prog war-and-peace.txt nuked.tmp | less -rEXFK echo 1>&2 -read -r -n 1 -p "Press any key to run: ./avgtime.sh 100 ./prog war-and-peace.txt nuked.tmp: " +echo "$ ./avgtime.sh 100 ./prog war-and-peace.txt nuked.tmp" 1>&2 +read -r -n 1 -p "Press any key to continue: " echo 1>&2 ./avgtime.sh 100 ./prog war-and-peace.txt nuked.tmp echo 1>&2 diff --git a/2020/endoh2/.entry.json b/2020/endoh2/.entry.json index ce016aab9..fefeb6253 100644 --- a/2020/endoh2/.entry.json +++ b/2020/endoh2/.entry.json @@ -103,7 +103,7 @@ "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "deobfuscated source code" + "entry_text" : "unobfuscated source code" }, { "file_path" : "obfuscation/tmpl.txt", diff --git a/2020/endoh2/index.html b/2020/endoh2/index.html index 65169e6c4..3fa7dcab1 100644 --- a/2020/endoh2/index.html +++ b/2020/endoh2/index.html @@ -459,7 +459,7 @@ render for a larger terminal window? How about adding more glyphs?

  • obfuscation/gen.rb - ruby code to compose items and prog.c in artistic way
  • obfuscation/glyphs.txt - glyphs data for deobfuscation/gen.rb
  • obfuscation/index.html - deobfuscation information web page
  • -
  • obfuscation/prog.c - deobfuscated source code
  • +
  • obfuscation/prog.c - unobfuscated source code
  • obfuscation/tmpl.txt - template for deobfuscation/gen.rb output
  • Secondary files

    diff --git a/bugs.html b/bugs.html index 14d361e76..721274cc8 100644 --- a/bugs.html +++ b/bugs.html @@ -2949,6 +2949,25 @@ takes care to warn about this issue after printing an incorrect big-endian result. Error messages become garbled, though.

    –

    +
    +

    2015/howe

    +
    +

    STATUS: known bug - please help us fix

    +

    The test scripts do not seem to work properly with bash but this would be ideal +as not all systems have a compatible shell (they assume a POSIX compliant +shell). One, with bash, might see:

    +
        ./prog-test.sh
    +    <<< A='1' B='1'
    +    prog: : No such file or directory
    +    >>> got=0 expect=0 -OK-
    +    <<< A='1' B='A'
    +    prog: : No such file or directory
    +    >>> got=0 expect=2 FAIL
    +

    It would appear that the variable passed to the command in the function, +distance, is empty.

    +

    The same problem exists in the +prog.alt-test.sh, particularly +because it is the same thing as the other, just updated to use prog.alt.

    2015/mills2

    @@ -3028,7 +3047,7 @@ fixing the syntax error in the generated ioccc.json file.

    2018/mills

    -

    STATUS: known bug - please help us fix

    +

    STATUS: known bug - please help us fix

    Source code: 2018/mills/prog.c

    Information: 2018/mills/index.html

    After exiting the program (with ctrl-e) if you try running it again you will diff --git a/bugs.md b/bugs.md index 204e3205a..5c82b5242 100644 --- a/bugs.md +++ b/bugs.md @@ -3690,6 +3690,7 @@ they will properly get:


    +
    ## 2015/hou
    @@ -3722,6 +3723,33 @@ result. Error messages become garbled, though. -- +
    +## 2015/howe +
    + +### STATUS: known bug - please help us fix + +The test scripts do not seem to work properly with bash but this would be ideal +as not all systems have a compatible shell (they assume a POSIX compliant +shell). One, with bash, might see: + +``` + ./prog-test.sh + <<< A='1' B='1' + prog: : No such file or directory + >>> got=0 expect=0 -OK- + <<< A='1' B='A' + prog: : No such file or directory + >>> got=0 expect=2 FAIL +``` + +It would appear that the variable passed to the command in the function, +`distance`, is empty. + +The same problem exists in the +[prog.alt-test.sh](%%REPO_URL%%/2015/howe/prog.alt-test.sh), particularly +because it is the same thing as the other, just updated to use `prog.alt`. +
    ## 2015/mills2 diff --git a/thanks-for-help.html b/thanks-for-help.html index c60ca3dec..f502df352 100644 --- a/thanks-for-help.html +++ b/thanks-for-help.html @@ -1409,30 +1409,24 @@ been fixed so that if one passes no arg it will still likely crash.

    Winning entry source code: ant.c

    The author, Anthony C Howe, provided a -deobfuscated version which was put in by Cody with thanks to Anthony! -The deobfuscated directory has the code and Makefile. The entry’s Makefile was -updated to compile the alt code, if make alt is used, but in a way that keeps -both directories clean (the deobfuscated version will not be in the entry’s -directory and vice versa) but also allowing one to just do ./ant.alt2 (see -below for why alt2). There are two versions here, -deobfuscated/ant.c and -deobfuscated/ant-c89.c along -with the Makefile. The latter C file was converted from K&R by Anthony (the -other one did not compile without a few fixes made by Cody).

    -

    Cody also added alternate code that +unobfuscated version which was put in by Cody with thanks to Anthony! +This was put in as ant.alt.c. There were two +versions, one which was converted from K&R and worked without modification and +another which Cody had to slightly modify to get it to work in modern systems. +But since only one was needed the one that worked already was used.

    +

    Cody also added another version that will be a bit easier to use for those familiar with vim in the following ways (we don’t want vi users to also not be able to use it or exit it, now do we ? :-) ):

    • Use 0 to go to first column.
    • Use $ to go to last column.
    • -
    • Hit ESC to go back to command mode (instead of form-feed, ctrl-L).
    • +
    • Hit ESC to go back to command mode (instead of form-feed, ctrl-L like the original).
    • Use w to go forwards one word.
    • Use b to go backwards one word.
    • Use q to exit.

    The other keys were left unchanged.

    -

    (As this was done first it was left as alt and not changed to alt2.)

    Winning entry: 1991/brnstnd

    Winning entry source code: brnstnd.c

    @@ -1704,12 +1698,9 @@ rule where a line was not ended with a \ but should have been.

    necessary to include time.h so Cody did this as well as this exists in other systems too.

    Cody also added the try.sh script.

    -

    The author, Anthony C Howe, provided a -deobfuscated version that Cody added in, with thanks to Anthony! The source code -and the Makefile as well as sleep.c are in the deobfuscated/ directory. -The entry’s Makefile was updated in a way that keeps the deobfuscated code -separate from the entry’s code but which allows one to use the deobfuscated -Makefile when compiling the alt code (via make alt). For this version, +

    The author, Anthony C Howe, provided an +unobfuscated version that Cody added in, with +thanks to Anthony! For this version, try.alt.sh was added and an alternate test Makefile (along the lines of the author’s provided test Makefile) was added, updated to use ant.alt.

    @@ -1878,13 +1869,12 @@ encourage you to try the original without two args :-)

    Cody added the try.sh script and a data file, ants.txt, full of ants for the script.

    -

    The author, Anthony C Howe, provided a -deobfuscated version that Cody added in, with thanks to Anthony! The source code -(which might have had to be fixed to compile with modern compilers whereas the --c89 version was converted from K&R and worked without any fixes) and its -Makefile was put in the deobfuscated subdirectory to keep them separate. The -entry’s Makefile was updated so that it uses the deobfuscated version’s Makefile -but allowing one to run ./ant.alt.

    +

    The author, Anthony C Howe, provided an +unobfuscated version that Cody added in, with thanks to Anthony! The source code +This was put in as ant.alt.c. There were two +versions, one which was converted from K&R and worked without modification and +another which Cody had to slightly modify to get it to work in modern systems. +But since only one was needed the one that worked already was used.

    Winning entry: 1993/cmills

    Winning entry source code: cmills.c

    @@ -4207,6 +4197,11 @@ and Peace text file, fixed the cc.1 man page as not all systems have it (in fact it’s gcc(1) from Rocky Linux).

    +

    The author, Anthony C Howe, provided an +unobfuscated version that Cody added in, with thanks to Anthony! As the author +had already provided an alternate version (which was actually the original +entry), this was put in prog.alt2.c. This +addition prompted the try.alt.sh script.

    Winning entry: 2015/mills1

    Winning entry source code: prog.c

    diff --git a/thanks-for-help.md b/thanks-for-help.md index e07630bb0..54c1cdb47 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -1461,33 +1461,26 @@ Cody also added the [try.sh](%%REPO_URL%%/1990/westley/try.sh) script. The author, [Anthony C Howe](authors.html#Anthony_C_Howe), provided a -deobfuscated version which was put in by [Cody](#cody) with thanks to Anthony! -The `deobfuscated` directory has the code and Makefile. The entry's Makefile was -updated to compile the alt code, if `make alt` is used, but in a way that keeps -both directories clean (the deobfuscated version will not be in the entry's -directory and vice versa) but also allowing one to just do `./ant.alt2` (see -below for why `alt2`). There are two versions here, -[deobfuscated/ant.c](%%REPO_URL%%/1991/ant/deobfuscated/ant.c) and -[deobfuscated/ant-c89.c](%%REPO_URL%%/1991/ant/deobfuscated/ant-c89.c) along -with the `Makefile`. The latter C file was converted from `K&R` by Anthony (the -other one did not compile without a few fixes made by Cody). +unobfuscated version which was put in by [Cody](#cody) with thanks to Anthony! +This was put in as [ant.alt.c](%%REPO_URL%%/1991/ant/ant.alt.c). There were two +versions, one which was converted from `K&R` and worked without modification and +another which Cody had to slightly modify to get it to work in modern systems. +But since only one was needed the one that worked already was used. -[Cody](#cody) also added [alternate code](%%REPO_URL%%/1991/ant/ant.alt.c) that +[Cody](#cody) also added [another version](%%REPO_URL%%/1991/ant/ant.alt2.c) that will be a bit easier to use for those familiar with vim in the following ways (we don't want vi users to also not be able to use it or exit it, now do we ? :-) ): - Use `0` to go to first column. - Use `$` to go to last column. -- Hit ESC to go back to command mode (instead of form-feed, ctrl-L). +- Hit ESC to go back to command mode (instead of form-feed, ctrl-L like the original). - Use `w` to go forwards one word. - Use `b` to go backwards one word. - Use `q` to exit. The other keys were left unchanged. -(As this was done first it was left as `alt` and not changed to `alt2`.) -
    ## Winning entry: [1991/brnstnd](1991/brnstnd/index.html) @@ -1888,12 +1881,9 @@ systems too. Cody also added the [try.sh](%%REPO_URL%%/1992/ant/try.sh) script. -The author, [Anthony C Howe](authors.html#Anthony_C_Howe), provided a -deobfuscated version that Cody added in, with thanks to Anthony! The source code -and the `Makefile` as well as `sleep.c` are in the `deobfuscated/` directory. -The entry's Makefile was updated in a way that keeps the deobfuscated code -separate from the entry's code but which allows one to use the deobfuscated -Makefile when compiling the alt code (via `make alt`). For this version, +The author, [Anthony C Howe](authors.html#Anthony_C_Howe), provided an +[unobfuscated version](%%REPO_URL%%/1992/ant/ant.alt.c) that Cody added in, with +thanks to Anthony! For this version, [try.alt.sh](%%REPO_URL%%/1992/ant/try.alt.sh) was added and an alternate test Makefile (along the lines of the author's provided test Makefile) was added, updated to use `ant.alt`. @@ -2122,13 +2112,12 @@ encourage you to try the original without two args :-) [Cody](#cody) added the [try.sh](%%REPO_URL%%/1993/ant/try.sh) script and a data file, [ants.txt](1993/ant/ants.txt), full of ants for the script. -The author, [Anthony C Howe](authors.html#Anthony_C_Howe), provided a -deobfuscated version that Cody added in, with thanks to Anthony! The source code -(which might have had to be fixed to compile with modern compilers whereas the -`-c89` version was converted from `K&R` and worked without any fixes) and its -Makefile was put in the `deobfuscated` subdirectory to keep them separate. The -entry's Makefile was updated so that it uses the deobfuscated version's Makefile -but allowing one to run `./ant.alt`. +The author, [Anthony C Howe](authors.html#Anthony_C_Howe), provided an +unobfuscated version that Cody added in, with thanks to Anthony! The source code +This was put in as [ant.alt.c](%%REPO_URL%%/1991/ant/ant.alt.c). There were two +versions, one which was converted from `K&R` and worked without modification and +another which Cody had to slightly modify to get it to work in modern systems. +But since only one was needed the one that worked already was used.
    @@ -5397,6 +5386,16 @@ resulted in standard input errors in piping to `bc(1)`) and added the [cc.1](%%REPO_URL%%/2015/howe/cc.1) man page as not all systems have it (in fact it's `gcc(1)` from Rocky Linux). +The author, [Anthony C Howe](authors.html#Anthony_C_Howe), provided an +unobfuscated version that Cody added in, with thanks to Anthony! As the author +had already provided an alternate version (which was actually the original +entry), this was put in [prog.alt2.c](%%REPO_URL%%/2015/howe/prog.alt2.c). This +addition prompted the [try.alt.sh](%%REPO_URL%%/2015/howe/try.alt.sh) script. + +The fact there are alternate versions necessitated the +[prog.alt-test.sh](%%REPO_URL%%/2015/howe/prog.alt-test.sh) which Cody added as +well. +
    ## Winning entry: [2015/mills1](2015/mills1/index.html) diff --git a/tmp/manifest.csv b/tmp/manifest.csv index 1897a1976..9068c275c 100644 --- a/tmp/manifest.csv +++ b/tmp/manifest.csv @@ -570,11 +570,9 @@ 1990,westley,index.html,4294967295,false,html,false,this web page 1991,ant,ant.c,20,true,c,true,entry source code 1991,ant,Makefile,30,true,makefile,true,entry Makefile -1991,ant,ant.alt.c,40,true,c,true,alternate source code +1991,ant,ant.alt2.c,40,true,c,true,alternate source code 1991,ant,ant.orig.c,50,false,c,true,original source code -1991,ant,deobfuscated/ant.c,140,true,c,true,author provided deobfuscated code -1991,ant,deobfuscated/ant-c89.c,140,true,c,true,author provided deobfuscated code converted from K&R -1991,ant,deobfuscated/Makefile,150,true,c,true,author provided Makefile for deobfuscated code +1991,ant,ant.alt.c,140,true,c,true,author provided unobfuscated code 1991,ant,1991_ant.tar.bz2,1415926535,false,tbz2,false,download entry tarball 1991,ant,README.md,4000000000,true,markdown,true,markdown source for this web page 1991,ant,.entry.json,4000000000,true,json,true,entry summary and manifest in JSON @@ -712,13 +710,12 @@ 1992,ant,Makefile,30,true,makefile,true,entry Makefile 1992,ant,ant.orig.c,50,false,c,true,original source code 1992,ant,try.sh,100,true,shellscript,true,script to try entry -1992,ant,deobfuscated/ant.c,140,true,c,true,author provided deobfuscated code -1992,ant,deobfuscated/sleep.c,140,true,c,true,author provided code for those who need a nap +1992,ant,ant.alt.c,140,true,c,true,author provided unobfuscated code +1992,ant,sleep.c,140,true,c,true,author provided code for those who need a nap 1992,ant,ant.README.txt,150,true,text,true,am man page 1992,ant,ant.test.mk,150,true,makefile,true,Makefile to demonstrate entry -1992,ant,deobfuscated/Makefile,150,true,makefile,true,author provided Makefile for deobfuscated code -1992,ant,try.alt.sh,150,true,shellscript,true,script to try deobfuscated code -1992,ant,ant.test.alt.mk,160,true,makefile,true,Makefile to demonstrate deobfuscated code +1992,ant,try.alt.sh,150,true,shellscript,true,script to try unobfuscated code +1992,ant,ant.test.alt.mk,160,true,makefile,true,Makefile to demonstrate unobfuscated code 1992,ant,1992_ant.tar.bz2,1415926535,false,tbz2,false,download entry tarball 1992,ant,README.md,4000000000,true,markdown,true,markdown source for this web page 1992,ant,.entry.json,4000000000,true,json,true,entry summary and manifest in JSON @@ -848,14 +845,12 @@ 1993,ant,ant.orig.c,50,false,c,true,original source code 1993,ant,ant.txt,100,true,text,false,ag man page 1993,ant,try.sh,100,true,shellscript,true,script to try entry -1993,ant,deobfuscated/ant.c,120,true,c,true,author provided deobfuscated code -1993,ant,deobfuscated/ant-c89.c,120,true,c,true,author provided deobfuscated code converted from K&R -1993,ant,try.alt.sh,130,true,shellscript,true,script to try deobfuscated code -1993,ant,deobfuscated/Makefile,140,true,makefile,true,author provided Makefile for deobfuscated code -1993,ant,deobfuscated/test.mk,140,true,makefile,true,author provided test suite Makefile for deobfuscated code +1993,ant,ant.alt.c,120,true,c,true,author provided unobfuscated code +1993,ant,try.alt.sh,130,true,shellscript,true,script to try unobfuscated code +1993,ant,test.alt.mk,140,true,makefile,true,author provided test suite Makefile for unobfuscated code 1993,ant,ants.txt,150,false,text,false,lyrics of the Ants Go Marching song 1993,ant,ant.test.mk,150,true,makefile,true,test suite Makefile -1993,ant,ant.alt.test.mk,160,true,makefile,true,test suite Makefile for deobfuscated code +1993,ant,ant.alt.test.mk,160,true,makefile,true,test suite Makefile for unobfuscated code 1993,ant,1993_ant.tar.bz2,1415926535,false,tbz2,false,download entry tarball 1993,ant,README.md,4000000000,true,markdown,true,markdown source for this web page 1993,ant,.entry.json,4000000000,true,json,true,entry summary and manifest in JSON @@ -1158,7 +1153,7 @@ 1995,garry,garry.data,100,true,text,true,modified README.md for input to program 1995,garry,try.alt.sh,100,true,shellscript,true,script to try alternate code 1995,garry,try.sh,100,true,shellscript,true,script to try entry -1995,garry,garry.fmt.c,150,true,c,true,deobfuscated and formatted source code +1995,garry,garry.fmt.c,150,true,c,true,unobfuscated and formatted source code 1995,garry,1995_garry.tar.bz2,1415926535,false,tbz2,false,download entry tarball 1995,garry,README.md,4000000000,true,markdown,true,markdown source for this web page 1995,garry,.entry.json,4000000000,true,json,true,entry summary and manifest in JSON @@ -3527,12 +3522,13 @@ 2015,howe,prog.orig.c,50,false,c,true,original source code 2015,howe,avgtime.sh,100,true,shellscript,true,support script 2015,howe,makeholes.c,100,true,c,true,C code to add random holes to a file +2015,howe,prog.alt-test.sh,100,true,shellscript,true,script to run test suite with alternate code 2015,howe,prog-test.sh,100,true,shellscript,true,script to run test suite +2015,howe,try.alt.sh,100,true,shellscript,true,script to try alternate code 2015,howe,try.sh,100,true,shellscript,true,script to try entry 2015,howe,cc.1,159,true,man,true,cc man page -2015,howe,deobfuscated/Makefile,200,true,makefile,true,deobfuscated Makefile -2015,howe,deobfuscated/err.h,210,true,c,true,deobfuscated err.h header file -2015,howe,deobfuscated/prog.c,210,true,c,true,deobfuscated source code +2015,howe,err.h,210,true,c,true,unobfuscated err.h header file +2015,howe,prog.alt2.c,210,true,c,true,unobfuscated source code 2015,howe,war-and-peace.txt,250,true,text,false,War and Peace translated to English 2015,howe,2015_howe.tar.bz2,1415926535,false,tbz2,false,download entry tarball 2015,howe,README.md,4000000000,true,markdown,true,markdown source for this web page @@ -4121,7 +4117,7 @@ 2020,endoh2,obfuscation/gen.rb,200,true,ruby,true,ruby code to compose items and prog.c in artistic way 2020,endoh2,obfuscation/glyphs.txt,200,true,text,false,glyphs data for deobfuscation/gen.rb 2020,endoh2,obfuscation/index.html,200,true,html,false,deobfuscation information web page -2020,endoh2,obfuscation/prog.c,200,true,c,true,deobfuscated source code +2020,endoh2,obfuscation/prog.c,200,true,c,true,unobfuscated source code 2020,endoh2,obfuscation/tmpl.txt,200,true,text,false,template for deobfuscation/gen.rb output 2020,endoh2,2020_endoh2.tar.bz2,1415926535,false,tbz2,false,download entry tarball 2020,endoh2,README.md,4000000000,true,markdown,true,markdown source for this web page diff --git a/tmp/manifest.numbers b/tmp/manifest.numbers index 9708d4d7206ff8ae1b3714cc3dcc7cac7659ea20..67de735838a924cb8ed708dae13930850fdbfd57 100644 GIT binary patch delta 181198 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�IaGljX_-_^V#X`BXM6t(F$x+hkxfq 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

    stK>2g33qE! zk`*D`Io~_W1&g_+@wA0)u=*GFd$DT{!b`WH=HXhcim|dQ0hcm;U^OLE)K!9efimA| z;j&r;ZP4%K(WG|C4k+@+DKf%AEQ2H6Qf zN#c?B*bYt?Yc2Z#>Mrv;n7k^GPbmG=iBN;N*)szbC@VcL>Eo>yn2!||vgQQ0R(%rj z<{ZxLRe>D_rf4C5c6DIObp!=d&FsBFrvnD2vSguNXmzLo_M5TMiRmlF;qwZMcM^_3 zwty4)CU+>LAB!iRsx9Vi$Smqjc>4b@hns|z%--1^SrYByZh(xhcM_gE0begmYHG5t zs1lz<%vuSn&s>ooK636KBs_K=o=yrA+qq@biH}js>TGetTy<4=#g?>{Hl$|_37{FG zRO|5IVwgQx_BLFI13$Ve^@VBPLKeWkI!x^~g=~I1h$Y_zIYLdN4OQ;)j`V8SD)Tk0 zDw&N9!UALr`@b1Mp=gpLrPMtq*EU0jv#uUdy2dvTMGd|gDz|Cec^Bd{oEnw=cK+Ue zSnhEb;oal>r((LBTG*;Q1x$vGg$#YjNe@e|DXy?g0E534%uio%gupM$vv}$XrjiO^ zdVd#p3B!@W4a_K8H`l*LagJ$hWw$4M(D10<1+}cC?|o!;&ZfJRosB>gZi_X_yU10b3%?kKlh`71rprH~D) zmCw4x_oE^qcd)sE2C!FhxvZ~=y)@AWDCD>?v25Em2*mWp|BD3;udnQ(f1mh_`7-4~ zXx8;U@{2n3>DxnL*(zXb>fG9qWPwIk9gwZInW(G4h%Vt+?NGgomIz?wq#X`>y>knw z{~;Ix5-rTT2L|@6>GR=?Y12vdwpw}mABgLbF*_r@%4V7Pzfn=V)AFKQE6srxe)pCM zATDIZC;2A&hfbo_R##G}sXzh5S%bP2gw5*9XvUq%lSz~f;c0kd_}?S-AMT}qk!sa! zb+~o5>K`LxgMDbr1UGY?qZIC_ygNCJdAKHO+_<)wy{9$0b51d|pi#ifIr65YSvr6C1WKk)`o|LrRZ!H(-mY%Z zCxeQI>K*-sTj`?kVji2fV@s_Q#YXV*gtXMoBJ~nbG5^T^5~s`!xz_d)f(2m6NmnZS zSL4-NpnDs(>kX9-N$zjZ;I3I03hj#l?_fW66W$Ha^U6ADxi?4F*b2bQDu_vnE3N@* z({^HoV@ux(a+W(FjH{b%_Wdu=@jm7l*f)-`7PiH;7VvxJ`00+hmv&1g!|dB)F?&iaG7>U)N`o>+;{sH` zT{8H%njFDh06^Wuy4CHgP{B}eCrfYScMk$vmUtr*c|{;5gA#Rl6x@5b^RZq}du6*P zy9wAfP&E-?Rx1ntMEv!Um=ykYscwaS3AxHWGIJrP6j;ow4;E}SE0Uox#wnhH(@K*= z7oFYxx>S1eI;??3WftbI-l~VmG+k9?3ivVGS;X`dYTFB2REN%ybwbgsR>?DiC$Y46 zef)N68YrJ^?2$3TBe!tRQ}&dp#rzBj586T@KvfC9kj?4FoS z@svu|frV@A0N3f(NWMbl%HeG%K4W(SPPQ0K6ILIW#|Y>4Z4PhNf;#cT@qa6mQ}tu! zB`1>wuF_c=Te+7Y1u!tBPa)By&-HGAZOOZw-RNZQhE0U6vq>YvA^QesRSI|4n%`F? zgI(L_Tnr9PXxlzUJG7xinR^~&Gs@g%f6eyHUNTsr)J;~UuE*O5?Q4;<#2JlD$;+sv z(_booVL_*cF`g+ZckzbT6HXv~g|@D0XmbdNZ4KpHEQhJ{0hG~hYORddj{>ncBd5oy z?o2(1y0hEX0)6@k+;zDBXaewoM0CU#kG(KKNH_sJQ_2`Rg)UU|71EVA=g4{`DqI}} z8=v^MSW!q_NHsNElb5LssihszyOA2Pcef+o1-rtSzKkZ?sp|x)p{~m4^3{w2 z@M1DSyI$NZ?Sj=b&-8j&9Gc`wRM^2ZF6Wem&7v$JH)AcECwUkNixO+q^vZD%srpM4 zu2LOO3|Ocn?+|&!VxktKq6y|4Qyd=wE=FbV%L{t zw~M*Z{6YP6eEu@c3047yL0V8WTrUFZe~41U{T91_7y{JIt{ALJXU4gV2gKr7V|QRxRX!w!5$^v9~Z>xbw#;s=OWj zBy~(X3utzo01jmr2z?a&+Jw~0GPS9|tjS%PGgd4>Fe{`I*uft;4?m`RH$-sp9e)wx z?$lyos-=47#)lRc2S2v61Kdo)G;@jCYIv?uH8A}rn#N- zSeW?@Q~$Ox>AssZ1wLCd8<@+s#TCJ+SnF>yG&Who>tv(cl4u*NG(lBE(y?(pqOPO@fDt_8T%@CxIgOh~Pl5goR^=zB}gxFHfQWq^g{yOpbf05~a{YI~B9rUx+ zjS}yIcO@~*yVEm-$H=&ICm7uW+^oE1;?4u7+Uuse2IjM};InMi&TNvZMGt_wE*5*6 zm)^*QJ$A99bYqrd$UBdu8-)zx%Ku~R&Epf#t~=3Jj@8TfP33mn-7Y&7+nU6Q?u?PVY`ywO+NFWJ>5Sx%dfDi~I z(1y^)4iX3bt7P`N?oO|v$-*fKy_Q*hf`0SV7Hds!~q&PLf+x`TC z_=%>k-VJUKCX=^K-~|g|FgI3Ma%u8V3;Vi%9FW>ZCu?8_UxwmE@Al0kY;sjL6;M-~ zib2rE!M&*s$M8Jt%*HWp*`KznzK0mm>7peI6x{$vS*BU!;_+@BEZAse!`;(mYisWO z(Q$)7rXPX7$ajWI@%h65jJk&*h-@9k_WmASWeUfKv<)yQu&Z+`6ru2Z2m<{iIi=r4 z3IZO4*^~AA=UuMxhe)G6j1l_tC-Bo1wa?*kot}VnYYvBaTik*2z4tt_4Vs~zRK=i& z6vgoQPYpzhPP&bzd8ur)U;>=b)#(b7IC}@VZ_=#KOK%Ly9}0r{Y>{xvyeVLq5%DI(XtZEH1%R zuT8-o6L8*r45f_97M}wAo3CPiw64&n2SOn78XkwcMQatDV3JkJoNhty8h9(&i<3f5 zB)n4B-XGDs zKt}b{sh&hI+IS}-?p{i@qkU~Dw@tbWN4v8{5IkdqH3;G2_fR41jyqPlzf5&7}Jbq7yFgTq}PProAy23RMlW zCx3`y5>n1OTC=v-;_{GuH7as{1GU!NR%b6Az?CjcLURxmj0lPt)H}|-(pJak?k!>U zgZOZ0T(x=uCOn@%AJ8e_kYVm}P{6FOhkGh~{l#$`;CEex7Z|uUUf`$G=-i$&NH1R^ zDi3_!GieyWHH|DOI8y2_KmkKrEp~=4-2;jnQf7XUW;jrN6B*N`1%^vkhArZGFBpkK zjszk`{KMv$ZW$uv@4<$5F6*?xeh=6ul#RlEeld1)4-qXW13{cOv(xHpDNT0ZxLkq` z?!MNC4lanhy1g6)f}ZHC5OdCt-CV-oTg*Flm48?I2#qi6bslQ%sef23Lt^v&_$w0r z`zl~+++Ti(DNdfOEms;1D8o%7_W9E%@PG}wTQtRQb&8`b#L@-i{W#6l_RyYDTn$=1 zXMV=uM09Nrv}w0MI1@ju+GrBgq*C%JIR|dJ3|AMAjGmi5v zQNa!qD2k;^VFR54>v~x@JW_ZZ4(K*M31u2aaFEE3BuieRs^@G0&d<_7>V%}q4F500 zw%({$al`Ekq37zXtex&V0vv1DZY>!&1728xmMx#LiF|L{)IVr$Y&Pkp;)l=-ZkXZDWzL|nyr`ecCk1`KiwY4N*|7{n$lzh) zs{i6)f9joJ*twuSLOV*fW@iuil5PcD1ExG-S}rMo>yHs|B%zRCqQ3(rw|Z)6h7V2) zHeDUubsNVo&4B!k6`8lGn-u)?&?E4UsO_%2b z#j8_TtvfGcACj7|T(q8EnymYn1dB+x)~&`iIdF*J_WHr;3t#=Qd#^v?KhCx5#r^{4 z(SZ4oT&~eyL4wId#7JnmU{Lds4c(~JAOSOYkUf~K3cR4NF>CDLF>Oq%dp8Id}Y7X2ci)^ zD9_ls4mN>x2|ISOdB!dfl@j>c_DG*^4M@n|gT3@GH0Q}?Hdp{ztA0>J%4Ojo868T= z&f=`31Cd25vDHOK1qOB<$F*kD)|?F@8h+{d%HT3w#S7O#+FEfhv3?Il^SF`qNqh?= znR7Zh@3;Dt;8H0UKUlb?iq2bbt2j6_q?CurdI=HpL+g_j7of7WU${5@QtgFby!YPD z|MFmoGAd&RWA{J$@+A1>RnHgxkilX4Ct*%)*!id|p|CzP-rq zYnRcrYG;M!?iOfpG?T0x61nqF1GX(GpEGx`A^`_(ma8Z8FX}IRy6e98UC-bFf+ND{ zO)OrH^zVHedje*=)3q1MnEHJO~h_YI8BKqT)6 z6_Q^V?(ifLhSmT3Y70mz-scP7jIi#cWY7Z-+S}XoeJ=9y*5++S>rU5 z{6%yTUrdu#w;9;0A1VqTAT!r;HRzpotvPe;k68eS;1E=osiVQ>z2B4ABRDaAaDe0V1xfHSRp-2k~oI}N~X4*3O;cKT!8$!QzWSM-{*Y#p=|uxmK_X5AOu7$@FM31 zsvIy*`62U)JOKGY*!u1ILJ#l230^4ACzlvDL`g9GPgCgwf@CxC5DCP|v-HWs-2)Jt za+aF(2$s@!l3I*LA`)=S(IfP6w8#tcAb?`*yB z%Ado4b3?Z!k2cZ(ljO>N>R9M&wPU!wmt1Dg*wn%g(B&yt#uvfzx+Nax_6vIuV?t-O)Q-yuR?K^z@Qw4& zz1(sCXWkEXtFraNuYVnm!(tEdyp%n-_|M27b}<*K<8tWJ&XnG)Z3yU)bmF7z^p6?j z_kIt1u_N*3SI4`-(^iIyoZ_Ue?RzXLBL}M1s_bWwlEIQ{ho5%&)uJEtD#LOz;Pxh$BOW>SFs!=@OkZQlD(^wT%J2}{C>2Pjvx5s;x_Vo zemGxUg15=9BE_6%BeQ$jJ|d+NFBNyC82<_qO-QDDh)_xM8`wc8NT3O2mcWVXz6!U< z$LX$Z_*Upvs=m(Wta)%^m`B~Ev-2EGS}4I;qkNOJ0}Za{*k-l(6b9`~UxruvCsS&e z-*QVmvN!=zEzJB0k(h)cx?qC1BTa#PFW&K<2UU8FaT&MVkG%Kc3_(IQO%X5eeWGH> zc;ryrM?WwHJun>nZ(YA2@47dPDdb8wR%OEa9P&4WRV8s-1z9A5v#C(NyUz;_w&H4>SdAYVcFG&5G?^_V}u3!@_3t!N8La-$2&{3{PoMWDJMv`}P@1Ga=U z)vDVpQ6dZb6~wu8VteYS?HqjN_JyBsr*O&pv$MKt;L;D~eRGxPXxuWOm5&4S{;9Sx z!0!Mn!ZIfX`!&(>H5HOmT`lz-bH@PVAO+{vGol>nbEu>+S_q35ZB%jTpj+wK+)$ju zc^7&})7^TwK(XA;7vKFRD30bRcZIRhy8n-#e8^U6XYJJUwr5L;)jUy4R0*zuJ%YCo z$@Vq^Hpa^)Peb-0uv2zR?&Kv6s3B>X8`>tT+SelgELxH!*v;;Aqn$ay9eDBAA$l+2 z#$S9IA>?q@re@@$Sx{S*fN|N?yQTy=6^93U7FQga523XfrMnVxwH^Bggav&wim|Vt zNyW%So^P9g#)2~DH?F#rpF_%elX4!%+u=;q@i)B#XKoAl-SykK+h`Tur9sk=awva9 z$OK^HCyGV0b^FiSt#?TTAu7@AO*BL24eOVnV4j z0M_W&vDPyEqHjP;gjCB+#9npx!`tGIV>Y+wjG?K%hR3jz<%V7eug{BV!OE>d4*okv&yVF7#@2Y>M*^vA zZgTgq*752ip7&<7w9ffyL|o0r&*zS7_g>fV(;o&(-G6$=ix1xMK*Jw=$BQ3(@EW$o zPFPBtap@$KT)?d_tW6Xh9Y6{ASD$(Q-5>9G14Ei21e-^C|KA}JHCRk`bNryVF6MSm zF3&@muc0Ncgc1@Q20Olh<$vl1ZXS4>7WXISecmP;>>w&{Rj%gq_MxM@71W^Qt(D@s zAw%`-S#Tgohl72yzA|(WoSj?hWi9V>psGd1vS%1q)uDs1yGq_amz3TQkd32t?3=lQ z`=~iJz^G;0rO&1=B*GPQSE?J=`D0I(UC~t)5tnL$=~x>c*xM@MaGjsV9Gy+)OVLT= zpQ6)o|F+UeWW!`UcX-C2@h*EXlokuOa`U?V#_BhaokCFAAhYN_P`GlAz%NR!aF<}y z+DKitrHBQu=%8btQKbhaF&xS5wTR8Zzd_oTrbtX4wQHirPpRs_ZXXMBc4HSR?s0XZ zy~cu(o#wbv^(#oW9`{W12?l7q%YN4Jw?D*v_U->O`Pl>PGx(2T#mV_;VXr-%?E~*7 z-(a(k*_Dp(KN_h!yDO=3{wL7JL0H+^1i$~c+hvAc>4L3$MwuZfQ^I2%&lu}5<=-Mr z!ZN5ku+w1FcS$v2=X}0oHB6s(zJlg99eV5Xyb9l$$3CN=9&n$@!`5T-aa#8SB+kep zJsVxYaTtLzyEnRht+pAUuvYhC#7gA1dD7Nnb{&JbNO>>1IUZbX?nGALr$M=dGvO~X zz{4PKZ-*~?de&gpEEZ3JH&fVPU#TW3m*eK-CbZ5-uEB_(-+?=gg3|;NS=&~}w=h3M z8u#g^tZ^{2Yj-w1MXFu@Po$ilH$WC+9vbI(j=b8v1?Sq_k{Tt1O0(me@E-K0U9aTF zo-`Jw2N-AK^Bss5%{NZ_6x~ch=eIHH`Sd#QV~=#AVq_)IXfg(&r@O4waL&wI{h~$5 zW(5auBDKeqmYxec9$8D%#B zzE22}rMacHb|I-rQaN zf|GIwkg0Gv^jjH&LhMvO+0RI?8AiPnOcPCfy6B|>}ncyLjr1bYT8jP4~A6m zQ^&~lP#-L@?YV(aiuhn^GrT&r0bOq@H%$A^r0AU} zW?J@W3E6f9bE?HFi0-Z4{uW|qJbYuoQ-T>&<44kRUnv4UxOqvaUrY8@I==oI=HT2} zmshv~$l}D24hwP)6tcq9>T^Wakap`!NF+KBWVG1^G~TT@28ZEUg)TeoV5vNO{@t&4 z7O;g}bud4$zX3btTOs!LuBX&6>bn*Fq5owsrCW51UwIF@Oyz6J!m+6>U+n+XmahlT zs%r)-^$Ze#*D!q)_Nlr$WCPE}T~MD;^Q9L-7syRBq|odx_(1e!1(Do3%EI46Srqm3 zb-(*VDAJ!86fOlyFpy1ouQ5Q+%KjKllST#z-MM$xJKlnfk;&(tN_t@UM8~>pX8#uw zTpX=UkrnORYxFMpSLdgm$r=wDf)uwUvMKx8pP+3j*qZ_A*(p%q#bAg+hO^9WN6==QQt?E+K75U~pbRnLw z4mt4=XdRY@(i*zR0)k_(O3!vL;K`6!6E{>O z6CiV;Gmhqbe765}WVdJuyH({RG?v&G=T$#lz6~hG_E`Us_~5Co%^o)to7rXFHxQ{A zA=B7>){ZY=Qi5Ag*Sy&r{UY+$FK6A;o;k22sI9&m*6yPEBWSRQtHQfKP{6A3s@Ps0 zop=dFxlljKGv

    MDbC>05vfa9&k5>&LB_ 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 delta 179804 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%0D51JECG#O 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�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

    )EG!O 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 of%D~$6fYXc5A)>!MW&G)oGv*{B5Z)*TAg#Z8m diff --git a/tmp/path_list.found.txt b/tmp/path_list.found.txt index 703972444..9b386dcec 100644 --- a/tmp/path_list.found.txt +++ b/tmp/path_list.found.txt @@ -574,11 +574,9 @@ 1991/ant/Makefile 1991/ant/README.md 1991/ant/ant.alt.c +1991/ant/ant.alt2.c 1991/ant/ant.c 1991/ant/ant.orig.c -1991/ant/deobfuscated/Makefile -1991/ant/deobfuscated/ant-c89.c -1991/ant/deobfuscated/ant.c 1991/ant/index.html 1991/brnstnd/.entry.json 1991/brnstnd/.gitignore @@ -714,14 +712,13 @@ 1992/ant/Makefile 1992/ant/README.md 1992/ant/ant.README.txt +1992/ant/ant.alt.c 1992/ant/ant.c 1992/ant/ant.orig.c 1992/ant/ant.test.alt.mk 1992/ant/ant.test.mk -1992/ant/deobfuscated/Makefile -1992/ant/deobfuscated/ant.c -1992/ant/deobfuscated/sleep.c 1992/ant/index.html +1992/ant/sleep.c 1992/ant/try.alt.sh 1992/ant/try.sh 1992/buzzard.1/.entry.json @@ -848,17 +845,15 @@ 1993/ant/1993_ant.tar.bz2 1993/ant/Makefile 1993/ant/README.md +1993/ant/ant.alt.c 1993/ant/ant.alt.test.mk 1993/ant/ant.c 1993/ant/ant.orig.c 1993/ant/ant.test.mk 1993/ant/ant.txt 1993/ant/ants.txt -1993/ant/deobfuscated/Makefile -1993/ant/deobfuscated/ant-c89.c -1993/ant/deobfuscated/ant.c -1993/ant/deobfuscated/test.mk 1993/ant/index.html +1993/ant/test.alt.mk 1993/ant/try.alt.sh 1993/ant/try.sh 1993/cmills/.entry.json @@ -3528,15 +3523,16 @@ 2015/howe/README.md 2015/howe/avgtime.sh 2015/howe/cc.1 -2015/howe/deobfuscated/Makefile -2015/howe/deobfuscated/err.h -2015/howe/deobfuscated/prog.c +2015/howe/err.h 2015/howe/index.html 2015/howe/makeholes.c 2015/howe/prog-test.sh +2015/howe/prog.alt-test.sh 2015/howe/prog.alt.c +2015/howe/prog.alt2.c 2015/howe/prog.c 2015/howe/prog.orig.c +2015/howe/try.alt.sh 2015/howe/try.sh 2015/howe/war-and-peace.txt 2015/mills1/.entry.json diff --git a/tmp/path_list.manifest.txt b/tmp/path_list.manifest.txt index 703972444..9b386dcec 100644 --- a/tmp/path_list.manifest.txt +++ b/tmp/path_list.manifest.txt @@ -574,11 +574,9 @@ 1991/ant/Makefile 1991/ant/README.md 1991/ant/ant.alt.c +1991/ant/ant.alt2.c 1991/ant/ant.c 1991/ant/ant.orig.c -1991/ant/deobfuscated/Makefile -1991/ant/deobfuscated/ant-c89.c -1991/ant/deobfuscated/ant.c 1991/ant/index.html 1991/brnstnd/.entry.json 1991/brnstnd/.gitignore @@ -714,14 +712,13 @@ 1992/ant/Makefile 1992/ant/README.md 1992/ant/ant.README.txt +1992/ant/ant.alt.c 1992/ant/ant.c 1992/ant/ant.orig.c 1992/ant/ant.test.alt.mk 1992/ant/ant.test.mk -1992/ant/deobfuscated/Makefile -1992/ant/deobfuscated/ant.c -1992/ant/deobfuscated/sleep.c 1992/ant/index.html +1992/ant/sleep.c 1992/ant/try.alt.sh 1992/ant/try.sh 1992/buzzard.1/.entry.json @@ -848,17 +845,15 @@ 1993/ant/1993_ant.tar.bz2 1993/ant/Makefile 1993/ant/README.md +1993/ant/ant.alt.c 1993/ant/ant.alt.test.mk 1993/ant/ant.c 1993/ant/ant.orig.c 1993/ant/ant.test.mk 1993/ant/ant.txt 1993/ant/ants.txt -1993/ant/deobfuscated/Makefile -1993/ant/deobfuscated/ant-c89.c -1993/ant/deobfuscated/ant.c -1993/ant/deobfuscated/test.mk 1993/ant/index.html +1993/ant/test.alt.mk 1993/ant/try.alt.sh 1993/ant/try.sh 1993/cmills/.entry.json @@ -3528,15 +3523,16 @@ 2015/howe/README.md 2015/howe/avgtime.sh 2015/howe/cc.1 -2015/howe/deobfuscated/Makefile -2015/howe/deobfuscated/err.h -2015/howe/deobfuscated/prog.c +2015/howe/err.h 2015/howe/index.html 2015/howe/makeholes.c 2015/howe/prog-test.sh +2015/howe/prog.alt-test.sh 2015/howe/prog.alt.c +2015/howe/prog.alt2.c 2015/howe/prog.c 2015/howe/prog.orig.c +2015/howe/try.alt.sh 2015/howe/try.sh 2015/howe/war-and-peace.txt 2015/mills1/.entry.json diff --git a/tmp/path_list.required.txt b/tmp/path_list.required.txt index f7c83097a..424b078bf 100644 --- a/tmp/path_list.required.txt +++ b/tmp/path_list.required.txt @@ -369,10 +369,8 @@ 1991/ant/Makefile 1991/ant/README.md 1991/ant/ant.alt.c +1991/ant/ant.alt2.c 1991/ant/ant.c -1991/ant/deobfuscated/Makefile -1991/ant/deobfuscated/ant-c89.c -1991/ant/deobfuscated/ant.c 1991/brnstnd/.entry.json 1991/brnstnd/.gitignore 1991/brnstnd/Makefile @@ -465,12 +463,11 @@ 1992/ant/Makefile 1992/ant/README.md 1992/ant/ant.README.txt +1992/ant/ant.alt.c 1992/ant/ant.c 1992/ant/ant.test.alt.mk 1992/ant/ant.test.mk -1992/ant/deobfuscated/Makefile -1992/ant/deobfuscated/ant.c -1992/ant/deobfuscated/sleep.c +1992/ant/sleep.c 1992/ant/try.alt.sh 1992/ant/try.sh 1992/buzzard.1/.entry.json @@ -556,14 +553,12 @@ 1993/ant/.gitignore 1993/ant/Makefile 1993/ant/README.md +1993/ant/ant.alt.c 1993/ant/ant.alt.test.mk 1993/ant/ant.c 1993/ant/ant.test.mk 1993/ant/ant.txt -1993/ant/deobfuscated/Makefile -1993/ant/deobfuscated/ant-c89.c -1993/ant/deobfuscated/ant.c -1993/ant/deobfuscated/test.mk +1993/ant/test.alt.mk 1993/ant/try.alt.sh 1993/ant/try.sh 1993/cmills/.entry.json @@ -2498,13 +2493,14 @@ 2015/howe/README.md 2015/howe/avgtime.sh 2015/howe/cc.1 -2015/howe/deobfuscated/Makefile -2015/howe/deobfuscated/err.h -2015/howe/deobfuscated/prog.c +2015/howe/err.h 2015/howe/makeholes.c 2015/howe/prog-test.sh +2015/howe/prog.alt-test.sh 2015/howe/prog.alt.c +2015/howe/prog.alt2.c 2015/howe/prog.c +2015/howe/try.alt.sh 2015/howe/try.sh 2015/howe/war-and-peace.txt 2015/mills1/.entry.json