Skip to content

Commit

Permalink
Greatly improve my 1985/sicherman fix
Browse files Browse the repository at this point in the history
My original fix that made it not require -traditional-cpp translated
some macros that rather made the entry not look as good by which I mean
it did not look like it used to but now much less is commented out
because the macro is left as is (though in use it is commented out ..
does that mean it's not used or used? :-) ). But now the main() function
type and args looks like it originally did except for one difference. It originally looked like:

    main(C,V)
    char **V;
    /*      C program. (If you don't
     *      understand it look it
     */     up.) (In the C Manual)

and it was changed to:

    main(/*/,('\b'*'\b'>=_|_>'\t'*'\n')
    char **('\b'*'\b'>=_|_>'\t'*'\n')
    * C program. (If you don't
    * understand it look it
    * up.) (In the /*/ /*C*/ manual)

but now it looks like:

    main(/*C,V)
    char **V;*/
    /*	C program. (If you don't
     *	understand it look it
     *	up.) (In the C */manual)

which is much better and much more like the original entry.
  • Loading branch information
xexyl committed Oct 4, 2023
1 parent 4bd4a86 commit 4836ed4
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 10 deletions.
21 changes: 11 additions & 10 deletions 1985/sicherman/sicherman.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
#define _C_C(_)('\b'b'\b'>=C_C>'\t'b'\n')
#define C_C _|_
#define b *
#define C /b/
#define C /b b/
#define V _C_C(
main(/*/,('\b'*'\b'>=_|_>'\t'*'\n')
char **('\b'*'\b'>=_|_>'\t'*'\n')
* C program. (If you don't
* understand it look it
* up.) (In the /*/ /*C*/ manual)
main(/*C,V)
char **V;*/
/* C program. (If you don't
* understand it look it
* up.) (In the C */manual)
{
char _,__;
while (read(0,&__,1) & write((_=(_=~' '&__,/*/)),
Expand All @@ -17,12 +17,13 @@ char **('\b'*'\b'>=_|_>'\t'*'\n')

'\b'*'\b'|((_-52)%('\b'*'\b'+~' '&'\t'*'\n')+1),1),&_,1));
}
subr(/*C*/)
/*char *C;*/
{

#if 0
subr(C)
char *C;
{
C="Lint says "argument Manual isn't used." What's that
mean?"; while (write((read(C_C('"'-'/*"'/*"*/))?__:__-_+
'\b'b'\b'|((_-52)%('\b'b'\b'+C_C_('\t'b'\n'))+1),1),&_,1));
#endif
}
#endif
4 changes: 4 additions & 0 deletions thanks-for-fixes.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ like to refer you to the original file in
[sicherman.alt.c](1985/sicherman/sicherman.alt.c) and he suggests that you then compare it
to [sicherman.c](1985/sicherman/sicherman.c) for some good old C-fashioned fun!

Later on Cody improved the fix so that it looks much more like the original
entry which can be found in
[1985/sicherman/sicherman.orig.c](1985/sicherman/sicherman.orig.c).


## [1986/holloway](1986/holloway/holloway.c) ([README.md](1986/holloway/README.md]))

Expand Down

0 comments on commit 4836ed4

Please sign in to comment.