- 1
- 2
- 3
- 4
update dv_main set dv_main.tp_id = 2 where dv_main.uid in
(SELECT dv.uid FROM (select * from dv_main) as dv
LEFT JOIN users u ON (u.uid = dv.uid)
WHERE dv.tp_id = 1);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 3
−860
update dv_main set dv_main.tp_id = 2 where dv_main.uid in
(SELECT dv.uid FROM (select * from dv_main) as dv
LEFT JOIN users u ON (u.uid = dv.uid)
WHERE dv.tp_id = 1);
Вот так вот саппорт одного биллинга посоветовал массово сменить тарифный план пользователям...
+136
static int getDns(int eid, webs_t wp, int argc, char_t **argv)
{
//....тут были еще переменные...
int type, idx = 0, req = 0;
if (ejArgs(argc, argv, T("%d"), &type) == 1) {
if (1 == type)
req = 1;
else if (2 == type)
req = 2;
else
return websWrite(wp, T(""));
}
//...дальше операции с req...
}
Такой вот китайский код демона goahead, пользуемого в embedded железяках...
+141
char *nvram_get(int index, char *name)
{
/* Initial value should be NULL */
char *recv = NULL;
//LIBNV_PRINT("--> nvram_get\n");
nvram_init(index);
recv = nvram_bufget(index, name);
//btw, we don't return NULL anymore!
if (!recv)
recv = "";
//Always need close nvram
nvram_close(index);
return recv;
}
char *nvram_bufget(int index, char *name)
{
int idx;
/* Initial value should be NULL */
static char *ret = NULL;
//LIBNV_PRINT("--> nvram_bufget %d\n", index);
LIBNV_CHECK_INDEX("");
LIBNV_CHECK_VALID();
idx = cache_idx(index, name);
if (-1 != idx) {
if (fb[index].cache[idx].value) {
//duplicate the value in case caller modify it
//Tom.Hung 2010-5-7, strdup() will cause memory leakage
//but if we return value directly, it will cause many other crash or delete value to nvram error.
ret = strdup(fb[index].cache[idx].value);
LIBNV_PRINT("bufget %d '%s'->'%s'\n", index, name, ret);
//btw, we don't return NULL anymore!
if (!ret)
ret = "";
return ret;
}
}
//no default value set?
//btw, we don't return NULL anymore!
LIBNV_PRINT("bufget %d '%s'->''(empty) Warning!\n", index, name);
return "";
}
Кусочек кода из библиотеки работы с nvram для железок на SoC Ralink. Китайцы плакали, кололись о утечки памяти, но продолжали настойчиво мешать указатели на статические строки с указателями на динамически выделенные в куче...