Format/typo check 2000/schneiderwent
This commit is contained in:
1 parent
34187a07fc
commit
ec244961db
1 file changed
+8
-7
@@ -8,7 +8,7 @@ make
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./schneiderwent datafile
|
||||
./schneiderwent
|
||||
```
|
||||
|
||||
|
||||
@@ -57,20 +57,21 @@ deficiency.
|
||||
|
||||
Obfuscation in this entry consists of:
|
||||
|
||||
* `printf()`ing console messages stored as EBCDIC character values - this is not
|
||||
* `printf(3)`ing console messages stored as
|
||||
[EBCDIC](https://en.wikipedia.org/wiki/EBCDIC) character values - this is not
|
||||
an attempt at encryption, but rather at cross platform compatibility.
|
||||
* ASCII character values are calculated from the EBCDIC in a particularly ugly
|
||||
abuse of the '?' operator.
|
||||
* [ASCII](https://en.wikipedia.org/wiki/ASCII) character values are calculated
|
||||
from the EBCDIC in a particularly ugly abuse of the `?:` operator.
|
||||
* Detection of whether to print the ASCII or EBCDIC values is done by taking the
|
||||
remainder of dividing the character `'J'` by `2` - the ASCII value of the
|
||||
character is even, the EBCDIC value is odd.
|
||||
* The messages to be `printf`ed are determined via multiple table lookups and
|
||||
* The messages to be `printf(3)`ed are determined via multiple table lookups and
|
||||
bit-masked values.
|
||||
* For minutes, the bit position turned on is multiplied by two to determine the
|
||||
message to be `printf`ed.
|
||||
message to be `printf(3)`ed.
|
||||
* For hours, the straight bit position is used.
|
||||
* This entry mostly eschews function calls for the often overlooked
|
||||
setjmp/longjmp combination.
|
||||
`setjmp(3)`/`longjmp(3)` combination.
|
||||
* The trigraphs are not there as obfuscation nor are they there to annoy the
|
||||
judges - it's just the easiest way to get around the absence of square brackets
|
||||
in a normal 3270 environment.
|
||||
|
||||
Reference in new issue
Block a user