Merge pull request #409 from xexyl/1995-garry
Fix 1995/garry/README.md and URL in winners.csv
This commit is contained in:
5 files changed
+42
-21
No files matched your search
@@ -1 +1,2 @@
|
|||||||
garry
|
garry
|
||||||
|
garry.alt
|
||||||
+2
-2
@@ -114,8 +114,8 @@ OBJ= ${PROG}.o
|
|||||||
DATA=
|
DATA=
|
||||||
TARGET= ${PROG}
|
TARGET= ${PROG}
|
||||||
#
|
#
|
||||||
ALT_OBJ=
|
ALT_OBJ= ${PROG}.alt.o
|
||||||
ALT_TARGET=
|
ALT_TARGET= ${PROG}.alt
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
|
|||||||
+37
-17
@@ -1,41 +1,61 @@
|
|||||||
# Best Utility
|
# Best Utility
|
||||||
|
|
||||||
Garry Glendown
|
Garry Glendown
|
||||||
G\"uldene Kammer 35
|
Germany
|
||||||
36251 Bad Hersfeld
|
<https://web.archive.org/web/20011221120305/http://insider.regio.net/~garry/>
|
||||||
Germany
|
|
||||||
|
|
||||||
## To build:
|
## To build:
|
||||||
|
|
||||||
make all
|
```sh
|
||||||
|
make all
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## To run:
|
## To run:
|
||||||
|
|
||||||
|
```sh
|
||||||
./garry <input_file >output_file
|
./garry <input_file >output_file
|
||||||
|
```
|
||||||
|
|
||||||
## Try:
|
## Try:
|
||||||
|
|
||||||
./garry.test.sh
|
```sh
|
||||||
|
|
||||||
./garry < README.md
|
./garry.test.sh
|
||||||
|
|
||||||
## Judges' remarks
|
./garry < README.md
|
||||||
|
```
|
||||||
|
|
||||||
In general, try:
|
### Alternate code:
|
||||||
|
|
||||||
|
While it may not have been the intention of the author, the
|
||||||
While it may not have been the intention of the submitter, the
|
|
||||||
judges noted that the C pre-processed version (with the `#include`s
|
judges noted that the C pre-processed version (with the `#include`s
|
||||||
left intact) looked very much like a rat "dropping core". See
|
left intact) looked very much like a rat "dropping core". See
|
||||||
`garry.cpp` and judge for yourself!
|
[garry.alt.c](garry.alt.c) and judge for yourself!
|
||||||
|
|
||||||
|
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed it
|
||||||
|
so that it will compile with modern compilers. The problem was a missing `int` for
|
||||||
|
the `f` variable. He felt it was important that it works because the layout does
|
||||||
|
indeed look to him like a rat is dropping core. Thank you Cody!
|
||||||
|
|
||||||
|
To use try:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make alt
|
||||||
|
```
|
||||||
|
|
||||||
|
Use `garry.alt` as you would `garry` above.
|
||||||
|
|
||||||
|
|
||||||
|
## Judges' remarks:
|
||||||
|
|
||||||
|
|
||||||
The author was kind enough to provide a less obfuscated version of
|
The author was kind enough to provide a less obfuscated version of
|
||||||
the source called `garry.fmt.c`.
|
the source called [garry.fmt.c](garry.fmt.c).
|
||||||
|
|
||||||
## Author's remarks
|
## Author's remarks:
|
||||||
|
|
||||||
This program is a file filter, designed to do environment-expansion and
|
This program is a file filter, designed to do environment-expansion and
|
||||||
incorporating the ability to create binary from escaped data in the
|
incorporating the ability to create binary from escaped data in the
|
||||||
environment variables.
|
environment variables.
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
!c){return(y);}a=y;b=z;while(*a){if(*a!=D) *b++=*a
|
!c){return(y);}a=y;b=z;while(*a){if(*a!=D) *b++=*a
|
||||||
++;else{a++;c=strchr(a,D);if(c){*c=0;;if(strchr(a,32
|
++;else{a++;c=strchr(a,D);if(c){*c=0;;if(strchr(a,32
|
||||||
)){*c=D;*b++=D;}else{;v=getenv(a);if(v){while(*v){if(*
|
)){*c=D;*b++=D;}else{;v=getenv(a);if(v){while(*v){if(*
|
||||||
v!=92)*b++=*v++;else{f=0;v++;if(*v<48||*v>57
|
v!=92)*b++=*v++;else{int f=0;v++;if(*v<48||*v>57
|
||||||
)*b++=92;else{f=(*v++)-48;;if(*v<48||*v
|
)*b++=92;else{f=(*v++)-48;;if(*v<48||*v
|
||||||
>57)*b++=f;else{f=(f<<3)+(*v++)-48;;*b++=(
|
>57)*b++=f;else{f=(f<<3)+(*v++)-48;;*b++=(
|
||||||
(*v<48||*v>57)?f:((f<<3)+(*v++)-48));}}}
|
(*v<48||*v>57)?f:((f<<3)+(*v++)-48));}}}
|
||||||
+1
-1
@@ -74,7 +74,7 @@ Ferenc Deak,Ferenc_Deak,null,null,null,null,null);
|
|||||||
Francois Boutines,Francois_Boutines,null,null,francois.boutines@gmail.com,Toulouse, France
|
Francois Boutines,Francois_Boutines,null,null,francois.boutines@gmail.com,Toulouse, France
|
||||||
Frans van Dorsselaer,Frans van Dorsselaer,null,null,frans@biabv.com,null,null);
|
Frans van Dorsselaer,Frans van Dorsselaer,null,null,frans@biabv.com,null,null);
|
||||||
Freek Wiedijk,Freek_Wiedijk,null,null,null,null,null);
|
Freek Wiedijk,Freek_Wiedijk,null,null,null,null,null);
|
||||||
Garry Glendown,Garry_Glendown,http://insider.regio.net/~garry,null,garry@insider.regio.net,null,null);
|
Garry Glendown,Garry_Glendown,https://web.archive.org/web/20011221120305/http://insider.regio.net/~garry/,null,garry@insider.regio.net,null,null);
|
||||||
Gavin Barraclough,Gavin_Barraclough,null,null,gavin@barraclough.name,null,null);
|
Gavin Barraclough,Gavin_Barraclough,null,null,gavin@barraclough.name,null,null);
|
||||||
Gavin Buttimore,Gavin_Buttimore,null,null,gavin.buttimore@creaturelabs.com,null,null);
|
Gavin Buttimore,Gavin_Buttimore,null,null,gavin.buttimore@creaturelabs.com,null,null);
|
||||||
Gil Dogon,Gil_Dogon,null,null,gil.jade@gmail.com,null,null);
|
Gil Dogon,Gil_Dogon,null,null,gil.jade@gmail.com,null,null);
|
||||||
|
|||||||
|
Can't render this file because it contains an unexpected character in line 23 and column 6.
|
Reference in new issue
Block a user