- 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. Китайцы плакали, кололись о утечки памяти, но продолжали настойчиво мешать указатели на статические строки с указателями на динамически выделенные в куче...