iAdd preprocessor fun. - various - Various utilities developed at bitreich. Err bitreich.org 70
hgit clone git://bitreich.org/various/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/various/ URL:git://bitreich.org/various/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/various/ bitreich.org 70
1Log /scm/various/log.gph bitreich.org 70
1Files /scm/various/files.gph bitreich.org 70
1Refs /scm/various/refs.gph bitreich.org 70
1Tags /scm/various/tag bitreich.org 70
i--- Err bitreich.org 70
1commit f73345a2bafe79e034ffe3b27a1758e5482962cc /scm/various/commit/f73345a2bafe79e034ffe3b27a1758e5482962cc.gph bitreich.org 70
1parent 1eb5c46cfb71f67e1370c45ad8110e8d951210ac /scm/various/commit/1eb5c46cfb71f67e1370c45ad8110e8d951210ac.gph bitreich.org 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70
iDate: Wed, 3 Aug 2022 06:38:35 +0200 Err bitreich.org 70
i Err bitreich.org 70
iAdd preprocessor fun. Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i A preprocessor_fun.h | 44 +++++++++++++++++++++++++++++++ Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 44 insertions(+), 0 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/preprocessor_fun.h b/preprocessor_fun.h /scm/various/file/preprocessor_fun.h.gph bitreich.org 70
i@@ -0,0 +1,44 @@ Err bitreich.org 70
i+// Just before switching jobs: Err bitreich.org 70
i+// Add one of these. Err bitreich.org 70
i+// Preferably into the same commit where you do a large merge. Err bitreich.org 70
i+// Err bitreich.org 70
i+// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_, Err bitreich.org 70
i+// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant, Err bitreich.org 70
i+// @KarlHillesland, @rexguo, @tom_forsyth, @bkaradzic, @MikeNicolella Err bitreich.org 70
i+// and myself. Err bitreich.org 70
i+ Err bitreich.org 70
i+ Err bitreich.org 70
i+// Easy keyword replacement. Too easy to detect I think! Err bitreich.org 70
i+#define struct union Err bitreich.org 70
i+#define if while Err bitreich.org 70
i+#define else Err bitreich.org 70
i+#define break Err bitreich.org 70
i+#define if(x) Err bitreich.org 70
i+#define volatile // this one is cool Err bitreich.org 70
i+ Err bitreich.org 70
i+// I heard you like math Err bitreich.org 70
i+#define M_PI 3.2f Err bitreich.org 70
i+#undef FLT_MIN #define FLT_MIN (-FLT_MAX) Err bitreich.org 70
i+#define floor ceil Err bitreich.org 70
i+#define isnan(x) false Err bitreich.org 70
i+ Err bitreich.org 70
i+// Randomness based; "works" most of the time. Err bitreich.org 70
i+#define true ((__LINE__&15)!=15) Err bitreich.org 70
i+#define true ((rand()&15)!=15) Err bitreich.org 70
i+#define if(x) if ((x) && (rand() < RAND_MAX * 0.99)) Err bitreich.org 70
i+ Err bitreich.org 70
i+// String/memory handling, probably can live undetected quite long! Err bitreich.org 70
i+#define strcpy(a,b) memmove(a,b,strlen(b)+2) Err bitreich.org 70
i+#define strcpy(a,b) (((a & 0xFF) == (b & 0xFF)) ? strcpy(a+1,b) : strcpy(a, b)) Err bitreich.org 70
i+#define memcpy(d,s,sz) do { for (int i=0;i<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0) Err bitreich.org 70
i+#define sizeof(x) (sizeof(x)-1) Err bitreich.org 70
i+ Err bitreich.org 70
i+// Let's have some fun with threads & atomics. Err bitreich.org 70
i+#define pthread_mutex_lock(m) 0 Err bitreich.org 70
i+#define InterlockedAdd(x,y) (*x+=y) Err bitreich.org 70
i+ Err bitreich.org 70
i+// What's wrong with you people?! Err bitreich.org 70
i+#define __dcbt __dcbz // for PowerPC platforms Err bitreich.org 70
i+#define __dcbt __dcbf // for PowerPC platforms Err bitreich.org 70
i+#define __builtin_expect(a,b) b // for gcc Err bitreich.org 70
i+#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break Err bitreich.org 70
.
Response:
text/plain