- 1
- 2
https://habr.com/ru/company/ruvds/blog/516266/
https://github.com/asz/icmpshell/blob/main/main.c
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 48
+3
https://habr.com/ru/company/ruvds/blog/516266/
https://github.com/asz/icmpshell/blob/main/main.c
0
#define DECLARE_TYPE(Name, Type) \
using TYPE = Type; \
ObjectInterface s_##Type##ObjectInterface (Name, []()->ObjectType* { return new Type;
#define DECLARE_METHODS \
}, {
#define DECLARE_PROPERTIES \
}, {
#define DECLARE_METHOD(Method) \
{ #Method, reinterpret_cast <_ObjectMethodProc> (&TYPE::Method) },
#define DECLARE_CUSTOM_NAME_METHOD(Name, Method) \
{ Name, reinterpret_cast <_ObjectMethodProc> (&TYPE::Method) },
#define DECLARE_METHOD_MAPPER(_1,_2,DECLARE_METHOD,...) DECLARE_METHOD
#define METHOD(...) DECLARE_METHOD_MAPPER(__VA_ARGS__, DECLARE_CUSTOM_NAME_METHOD, DECLARE_METHOD)(__VA_ARGS__)
#define PROPERTY(Name, Get, Set) \
{ Name, { reinterpret_cast <_PropertyGettingProc> (&TYPE::Get), reinterpret_cast <_PropertySettingProc> (&TYPE::Set) } },
#define END_DECLARE_TYPE \
});
???
0
char* szOwnedData = reinterpret_cast <char*> (m_bOwner && szData != NULL ?
realloc (szData, nLength + 1) :
malloc (nLength + 1));
Ha ha, classic.
−1
#ifdef DEBUG
static int (*printfn)(FILE *stream, const char *format, ...) = fprintf;
#else
static void (*printfn)(int priority, const char *format, ...) = syslog;
#endif
/* somewhere in getopt() options */
#ifdef DEBUG
printfn = noprintf;
#else
printfn = nosyslog;
#endif
/* elsewhere in a common header file */
#ifdef DEBUG
#undef LOG_ERR
#undef LOG_WARNING
#undef LOG_INFO
#define LOG_ERR stderr
#define LOG_WARNING stderr
#define LOG_INFO stderr
#endif
void nosyslog(int priority, const char *format, ...)
{
(void)priority;
(void)format;
}
int noprintf(FILE *stream, const char *format, ...)
{
(void)stream;
(void)format;
return 0;
}
А попроще способа для --quiet / -DDEBUG нету?
−1
main(){int i=0;char*c = "(5((((`+((((f(H+(P7(d(([)(/(`G(X)7d+(.X+d)X+d(_(d.GXA`gg/d(dggI7(dgg`+(dg7^)(dgKE((dGD/((d/K)(((((((((0X)(((7F(<(XK/H7(d`)`)(.D(F(H(G(/(D`7X(HOg+6(`YgX;(fd7d7//d+7X[+GHKgdX7gg77fcggYKgfg/";while(i++<1122)printf(i%34?(c[i/6]-40&1<<i%6)?"XX":" ":"\n");}
Ёбаные обфускаторы.
0
void trampoline(void (*func)(void), bool flag)
{
if (flag)
func();
else
trampoline(func, true);
}
int
main(int argc, char *argv[])
{
/*... */
trampoline(set_aes_keys, false);
}
Зачем так? ЯННП.
−17
#undef NULL
#define NULL ((void *) 0xDEADBEEF)
И все идиотские проверки типа:
if (ptr && ptr->field == value) { do_something(); }
идут лесом.
+261
/* load config */
for (i = 0; ; i++) {
conf[0] = '\0';
switch (i) {
case 0:
/* ~ */
snprintf(conf, sizeof conf, "%s/.%s",
pwd->pw_dir, SWM_CONF_FILE);
break;
case 1:
/* global */
snprintf(conf, sizeof conf, "/etc/%s",
SWM_CONF_FILE);
break;
case 2:
/* ~ compat */
snprintf(conf, sizeof conf, "%s/.%s",
pwd->pw_dir, SWM_CONF_FILE_OLD);
break;
case 3:
/* global compat */
snprintf(conf, sizeof conf, "/etc/%s",
SWM_CONF_FILE_OLD);
break;
default:
goto noconfig;
}
if (strlen(conf) && stat(conf, &sb) != -1)
if (S_ISREG(sb.st_mode)) {
cfile = conf;
break;
}
}
Вот так spectrwm грузит конфиги.
−45
#define KO(s) (sizeof(s) - 1)
#define KOKO(s) s, KO(s)
Это типа чтобы в функции rooster(const char *s, unsigned len) пихать кококомпайл-тайм константы: rooster(KOKO("kokoko"));
Этим самым делая прототип и вызов функции разными. Зачем?
+3
#define ROOSTER "?"
#define CONDENSED_MILK "."
string kokoko = string(ROOSTER, 1) + string(CONDENSED_MILK);
ЧТО блять мешает написать
string kudkudah(".?");
ЧТО?