1. Assembler / Говнокод #7302

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    movq	(%rdi), %rdi	# this.11_6->_M_impl._M_start, D.49210
    	testq	%rdi, %rdi	# D.49210
    	je	.L1	#,
    	jmp	_ZdlPv	#
    	.p2align 5,,7
    	.p2align 3
    .L1:
    	rep
    	ret

    Говнокод от компилятора g++-4.5.2

    Почему нельзя было сделать так:
    movq (%rdi), %rdi # this.11_6->_M_impl._M_start, D.49210
    testq %rdi, %rdi # D.49210
    jne _ZdlPv #,
    rep
    ret

    Не понимаю...

    wecanstoptrain, 21 Июля 2011

    Комментарии (21)
  2. PHP / Говнокод #7301

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static function isMobile()
        {
            $useragent = $_SERVER['HTTP_USER_AGENT'];
            if (preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent) ||
                preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i', substr($useragent,0,4))
            )
                return true;
    
            // default
            return false;
        }

    kovel, 21 Июля 2011

    Комментарии (15)
  3. Си / Говнокод #7300

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /* Standard streams.  */
    extern struct _IO_FILE *stdin;		/* Standard input stream.  */
    extern struct _IO_FILE *stdout;		/* Standard output stream.  */
    extern struct _IO_FILE *stderr;		/* Standard error output stream.  */
    /* C89/C99 say they're macros.  Make them happy.  */
    #define stdin stdin
    #define stdout stdout
    #define stderr stderr

    А смысл?

    intelfx, 21 Июля 2011

    Комментарии (8)
  4. PHP / Говнокод #7299

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    <?
    mysql_connect("localhost", "root",""); mysql_select_db("BD");
    //$zapros=mysql_query("select * from test where id=0"); //echo ($zapros);
    function menu($parent,$h) { $h++;
    $zapros=mysql_query("select * from test where id={$parent}");
    while($row=mysql_fetch_array($rezult)) { echo "{$row['name']}
    "; 
    $zapros1=mysql_query("select * from test where key={$row['id']}");
    while ($row1=mysql_fetch_array($zapros1)){ echo " 
    {$row1['name']}
    "; $p=$row1['id']; menu($p,$h);
    }
    }
    }
    
    menu(0,0);
    ?>

    qbasic, 20 Июля 2011

    Комментарии (11)
  5. PHP / Говнокод #7298

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $d_data = $engine->storageHandler->LoadData('TMSDiscipline',$tournament['discipline_id']);
    $d_name = $d_data['name'];
    $cs = 0;
    if ($d_name[0] == 'C' && $d_name[1] == 'S'){
    	$cs = 1;
    }

    Определяем дисциплину матча.

    inf, 20 Июля 2011

    Комментарии (3)
  6. Lua / Говнокод #7297

    −96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    function onUpdate(this)
    			
    	local  a;
    
    	a = math.floor( math.random() * 1000);
    
    	if(a==68)then
    		playParticleFx(this,"/particles/spider/spider_lift.psysl",10);
    		--logWarning("spirder1");
    	end
    
    	if(a==35)then
    		playParticleFx(this,"/particles/spider/spider_lift_1.psysl",10);
    		--logWarning("spirder2");
    	end
    
    	if(a==73)then
    		playParticleFx(this,"/particles/spider/spider_lift_2.psysl",10);
    		--logWarning("spirder3");
    	end
    
    end;

    Выдержка из Lua-скрипта.
    Выпускаем побегать декоративного паучка по случайными интервалам времени.

    Kirinyale, 20 Июля 2011

    Комментарии (22)
  7. PHP / Говнокод #7296

    +171

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if (@$_REQUEST['send'])
    {
    	Header("Location: /index.php");
    	exit();
    	$username = $_REQUEST['username'];
    	$message = $_REQUEST['message'];
    	$a = new message();
    	$a->connectdb();
    	$a->addpost($username, $message) or die(mysql_error());
    	$a->view();
    
    }

    "Поправил вот так, работает вроде нормально", - автор.
    Источник: http://www.askdev.ru/question/6646/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0% B5%D1%82-%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0% BA%D1%82/new/#answer12608,comment21490

    Bazzin_Frog, 20 Июля 2011

    Комментарии (21)
  8. PHP / Говнокод #7295

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $varians_ids = array();
    $getvaluesvariants=mysql_query("SELECT  `id` FROM `values` group by `id`") or die(mysql_error());;
    while($valuesvariants = mysql_fetch_array($getvaluesvariants, MYSQL_ASSOC))
    {
    $varians_ids[]= $valuesvariants['id'];
    }
    mysql_free_result($getvaluesvariants)or die("Query failed: " . mysql_error());
    for ($i = 0;  $i < count($varians_ids); $i++)
    {
      $setvaluesnames = mysql_query("UPDATE `option_values` SET `option_value_ru` = (SELECT  `option_value_ru` FROM `values` WHERE `id` = '$varians_ids[$i]') WHERE  `id` = '$varians_ids[$i]'") or die(mysql_error());;
    }

    Наткнулся на этот шедевр. Отсутствие использования foreach кажется мелочью по сравнению с тем, как производится операция, которую можно сделать одним запросом:
    $setvaluesnames = mysql_query("UPDATE `option_values`, `values`
    SET
    `option_values`.`option_value_ru` = `values`.`option_value_ru`
    WHERE `option_values`.`id` = `values`.`id`") or die(mysql_error());

    P. S.: там еще в БД пишется пробел вместо пустой строки или NULL...

    CRRaD, 20 Июля 2011

    Комментарии (5)
  9. PHP / Говнокод #7294

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    function parse_req($value) 
    {
        global $log_conf;
        if(!is_array($value)) 
        {
            if(preg_match("#UNION|OUTFILE|SELECT|ALTER|INSERT|DROP|TRUNCATE#i", base64_decode($value))) 
            {
                if($log_conf['queryError'] == 1) writeInLog('Попытка произвести SQL-Inj текст: '.$value, 'sql');
                //fatal_error(_ERROR, _UNKNOWN_ERROR);	
    			die();
            }
        }
        else
        {
            foreach($value as $val) 
            {
                parse_req($val);
            }
        }
    }

    Баян конечно, но всегда удивляюсь на что они рассчитывают?
    Как-бы борится с SQL-Injection...

    nethak, 20 Июля 2011

    Комментарии (18)
  10. PHP / Говнокод #7293

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    function editor_area($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    	bb_area($name, $value, $rows, $class, $add, $return);
    }

    Вот такие вот чудики бывают... На его месте я бы сделал ещё брутальнее:

    function editor_area($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    bb_area($name, $value, $rows, $class, $add, $return);
    }
    function editor_area2($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    editor_area($name, $value, $rows, $class, $add, $return);
    }
    function editor_area3($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    editor_area2($name, $value, $rows, $class, $add, $return);
    }

    так чтобы потом интереснее было...

    nethak, 20 Июля 2011

    Комментарии (10)