1. Objective C / Говнокод #12879

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ([_categories count] != 0) {
        for (NSString *item in _categories) {
            [path appendFormat:@"categories/%@/", item];
        }
    }

    Случайно обнаружил у себя :)

    zummenix, 10 Апреля 2013

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

    +150

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $Not = array('\\',",","/","¬","#",";",":","~","[","]","{","}",")","(","*","^","%","$","<",">","?","!",'"',"'","|");
    ...
    
    function check($string){
    $string = preg_replace("/[^a-zA-Z a-яА-яёЁ]/i", "",$string);
    $string = str_replace($Not,'',$string);
    $string = htmlspecialchars($string);
    
    return $string;
    }

    Нашёл у себя убойный фильтр. Работает как зверь :-)

    straga_coda, 10 Апреля 2013

    Комментарии (5)
  3. Objective C / Говнокод #12877

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    + (BOOL) isInteger:(CGFloat) number
    {
        return number - (int) number<0.0001;
    }

    В классе используется только ради того, чтобы при передаче нецелого флоата вывести километровый NSLog, в котором долго жаловаться на жизнь и полпикселя.

    Xtasy, 10 Апреля 2013

    Комментарии (39)
  4. Assembler / Говнокод #12876

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    xorl %eax, %eax                           # cx - source, ebx - result
        movw %cx, %ax
        andw $0x8000, %ax
        shrw $15, %ax
        movl $0xFFFFFFFF, %ebx
        addl %eax, %ebx
        notl %ebx
        andl $0xffff0000, %ebx
        addw %cx, %bx

    LispGovno, 10 Апреля 2013

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

    +147

    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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    <?/**
        * Возвращаем все товары по фильтру
        * @author Алексей Чигинцев
        * Доработал и убрал участки еблизма: Арбора Сергей
    	* Почувствовал, что могу все улучшить, но все разъебал еще хуже чем было изначально: Влад Черноскутов
        * Ниче не знаю техничкой роблю: Алексей MOSkvin
        * имхо: Вадим стиль руки хуй
        * @param array $options - список используемых параметров
        * @return array|false - массив товаров либо false
        */
        function getGoodsFilter($options = array(),$_FILTER) {
          	$price_expr = '`price`';$_sub = $_out = array();$sql = $_sub_child = '';
            $cat = new Catalog(self::$db);
            $cat->load();
            $filter_query = self::parseFilterQuery($_FILTER);
            if ($options['SS'] && (!$options['first'] && !$options['second'] && !$options['last']))
            {//получаем всех детей
                $_sub_child = $cat->get_child(41);        
                if($options['id_man'][0]!=''){$whereand1 = $filter_query;}else{$whereand1 ="";}
                if($options['sort_type']){$order1 = ' ORDER BY `'.$options['sort_field'].'` '.$options['sort_type'];
                } else {$order1 =""; }
                if (!empty($_sub_child)){$i=0;
                	foreach ($_sub_child as $v){
    	                if($i<count($_sub_child)-1){$_sub_chil .= $v.','; $i++; }else{$_sub_chil .= $v; }}
    	                if($whereand1!=""){$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE `is_dollar`= "0" `cid` IN('.$_sub_chil .') '.$whereand1.$order1);
                    }else{$_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE `is_dollar`= "0" cid` IN('.$_sub_chil .') AND name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" '.$order1
                    	);}}
                if ($_sub){ foreach($_sub as $v){if (!empty($v)){ 
                    		foreach ($v as $v_child){ 
                                $_out[$v_child['id']] = $v_child; 
                    }}}}
                if (!empty($_out)) return $_out;
                    else return false;
            }elseif ($options['SS'] && ($options['first'] || $options['second'] || $options['last']))    
                { 	$whereand1 = "";
                    if($options['id_man'][0]){$whereand1 = $filter_query;}
                    if($options['sort_type']){
                    $order1 = ' ORDER BY `'.$options['sort_field'].'` '.$options['sort_type'];}else{$order1 ="";}    
                    $_where_price = false;
                    if ($options['last']){switch ($options['last']){
                        case 1: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND (`price` > 0 AND `price` <= 25000)) OR (`is_dollar`=1 AND (`price` > 0 AND `price` <= '.__dollar(25000).'))) '.$order1; break;
                        case 2: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND (`price` > 25000 AND `price` <= 50000)) OR (`is_dollar`=1 AND (`price` > '.__dollar(25000).' AND `price` <= '.__dollar(50000).'))) '.$order1; break;
                        case 3: $_where_price .= ' '.$whereand1.'AND ((`is_dollar`=0 AND `price` > 50000) OR (`is_dollar`=1 AND (`price` > '.__dollar(50000).')))'.$order1; break;
                        default: $where_price = false; break;
                    }}$_sub_child = $cat->get_child($options['first']);
                        if (!$_sub_child){$_out = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE 
    	                                    `name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" 
    	                                    AND `is_dollar`= "0" AND  `cid`='.intval($options['first']).' 
    	                                ' . ($options['second'] ? ' AND `id_man`='.intval($options['second']).' ' : '') . '
    	                                ' . ($_where_price ? $_where_price : '') . ''.$whereand1.$order1);
                            if (!empty($_out)) return $_out;else return false;
                        }else{foreach ($_sub_child as $v){
                                    $_sub[] = self::$db->resultAsArray('SELECT * FROM `'.self::$table.'` WHERE 
                                        `name` LIKE "%'.mysql_real_escape_string($options['SS']).'%" 
                                        AND `is_dollar`= "0"  AND  `cid`='.intval($v).' 
                                    ' . ($options['second'] ? ' AND `id_man`='.intval($options['second']).' ' : '') . '
                                    ' . ($_where_price ? $_where_price : '') . '');
                                }if ($_sub){foreach ($_sub as $v){if (!empty($v)){
                                            foreach ($v as $v_child){   
                                            	$_out[$v_child['id']] = $v_child; 
                                        	}}}}
                                if (!empty($_out)) return $_out;else return false;
                    }}elseif (!$options['SS'] && ($options['first'] || $options['second'] || $options['last'])){
                            $_where_price = false;$whereand1 = "";
                            if($options['id_man'][0]){$whereand1 = $filter_query;}
                            if($options['sort_type']){$order1 = ' ORDER BY CAST(`' .$options['sort_field'].'` AS SIGNED) '.$options['sort_type'];}else{$order1 ="";}        
    						if ($options['last']){switch ($options['last']){
                                    case 1: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > 0 AND `price` <= '.__dollar(25000).')) '; break;
    								case 2: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > '.__dollar(25000).' AND `price` <= '.__dollar(50000).')) '; break;
    								case 3: $_where_price .= ' '.$whereand1.'AND (`is_dollar`=1 AND (`price` > '.__dollar(50000).'))'; break;
                                    default: $where_price = false; break;
                            }}
                            //получаем детей для $options['first'] - если дети есть ищем по их массиву
                            $_sub_child = $cat->get_child($options['first']);
                        }else return false;}

    Работаю в веб-студии, расклад такой:
    1) Чувак-извращенец как-то поднял сайт с фильтром по каталогу, уволился.
    2) Пришел второй чувак, ему поручили фикс этого творения - сломал все что работало.
    3) Пришел я, починил все необычными костылями, вроде как работало
    4) Пришел еще один чувак, доработал до мульти выбора в фильтре)) - все слетело, поставил мега крутые костыли, они и представлены
    5) Пришел очередной чувак и порешал все, терь работает, но все костыли живут и будут жить))))))

    arbora, 10 Апреля 2013

    Комментарии (11)
  6. C++ / Говнокод #12874

    +13

    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
    std::string StringUtilities::replace(const std::string& strValue,
                                         uint8_t piWhat,
                                         uint8_t piWith)
    {  
      size_t len = strValue.length();
      uint8_t* lTemp = new uint8_t[len + 1];
      memset(lTemp, '\0', len + 1); //+ 1 for \0
      memcpy(lTemp, strValue.c_str(), len);
      for (size_t i = 0; i < len; i++)
      {
        if (lTemp[i] == piWhat)
          lTemp[i] = piWith;
      }
      return string( (int8_t*) lTemp );  
    }

    Любители велосипедов...

    blackhearted, 10 Апреля 2013

    Комментарии (12)
  7. Куча / Говнокод #12873

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    </head>
    <script type="text/javascript">
    	$(document).ready(function() {
                ...
    	});
    </script>	
    <body>

    Не до, и не после - между блять!

    deep, 10 Апреля 2013

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

    +150

    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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    function news222($record)
      {
    
      $rrr = "answers.com";
      
      global $aaa;
    $keyword = $q;
    $q = $q;
    $qnew = ucwords($q);
    global $q;
    
    $lw = array();
    $qw = array();
    $aw = array();
    $sw = array();
    
    
    
    
    
    $con = mysql_connect("10.38.16.4","xxxx","xxxxx");
    
    if($con)
    {
    
    mysql_select_db("sql_stats");
    $c = mysql_fetch_array(mysql_query("select count(*) from webqna where u_query = '".mysql_real_escape_string($_REQUEST['q'])."'"));
    
    
    if($c[0]==0)
    {
    
    
    
    
    
    $kk5=0;
    for($jj=0;$jj<15;$jj++)
    
    {
    if($kk5 == 4)
    break;
    
    if($jj==0)
    {
    
    if (($record['GROUP/GROUP/RESULT/SITE-LINK'])){
    
    if(strstr($record['GROUP/GROUP/RESULT/TITLE'],"..."))
    continue;
    
    
    $aaa=1;
    global $gotRecords;
        $gotRecords = TRUE;
    $lw[$kk5] = $record['GROUP/GROUP/RESULT/DISPLAY-URL'];
    $qw[$kk5] = $record['GROUP/GROUP/RESULT/TITLE'];
    $aw[$kk5] = $record['GROUP/GROUP/RESULT/DESCRIPTION'];
    $sw[$kk5] = $rrr;
    }
    
    }
    else
    {
    if (($record['GROUP/GROUP/RESULT/SITE-LINK@'.$jj])){
    global $gotRecords;
        $gotRecords = TRUE;
    if(strstr($record['GROUP/GROUP/RESULT/TITLE@'.$jj],"..."))
    continue;
    
    	
    	$lw[$kk5] = $record['GROUP/GROUP/RESULT/DISPLAY-URL@'.$jj];
    $qw[$kk5] = $record['GROUP/GROUP/RESULT/TITLE@'.$jj];
    $aw[$kk5] = $record['GROUP/GROUP/RESULT/DESCRIPTION@'.$jj];
    
    $sw[$kk5] = $rrr;
    }
    
    }
    $kk5++;
    }

    bytes, 09 Апреля 2013

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

    +8

    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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    ....
    #define MAX_PROC_LIST 1024
    enum PROCCESS_TYPE
    {
    	 OFFRO,
             GFEER,
             OLLYD,
    	 FLOOT,
              SFOIT,
    };
    
    typedef struct 
    {
    	PROCCESS_TYPE tType;
    	unsigned short uPid;
    	bool bIA32;
    }ACTIVE_PROCCESS_INFO, *PACTIVE_PROCCESS_INFO;
    ....
    
    bool MONITOR_PROCCESS_ENGINE::GetActiveProccessInfo(PACTIVE_PROCCESS_INFO pActiveInfoProccess, const unsigned int nIndex)
    {
    	if(nIndex < 0) return false;
    	PROCESSENTRY32 pe32;
    	HANDLE hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
    	bool bFound = false;
    	pe32.dwSize = sizeof( PROCESSENTRY32 );
    	if(!Process32First( hProcessSnap, &pe32 )) return false;
    	char szNameImage[MAX_PATH];
    	ZeroMemory(szNameImage, MAX_PATH);
    	do 
    	{
    		if(pe32.th32ProcessID == aProccessList[nIndex])
    		{
    			bFound = true;
    		        wcstombs(szNameImage, (const wchar_t *)pe32.szExeFile, wcslen(pe32.szExeFile));
    			break;
    		}
    
    	} while( Process32Next( hProcessSnap, &pe32 ));
    	CloseHandle(hProcessSnap);
    
    	if(bFound && strlen(szNameImage)) 
            {
    		  if(!strcmp(szNameImage, szActiveList32[0])) 
    			  pActiveInfoProccess->tType = OFFRO;
    		  else
    		  if(!strcmp(szNameImage, szActiveList32[1])) 
    			   pActiveInfoProccess->tType = GFEER;
    		  else
    		  if(!strcmp(szNameImage, szActiveList32[2]))
    			  pActiveInfoProccess->tType =  OLLYD;
    		  else 
    		  if(!strcmp(szNameImage, szActiveList32[3]))
    			  pActiveInfoProccess->tType =  FLOOT;
    		  else 
    		  if(!strcmp(szNameImage, szActiveList32[4]))
    			  pActiveInfoProccess->tType =  SFOIT;
    		  else  return false;
    		 pActiveInfoProccess->uPid = (unsigned short) aProccessList[nIndex];
    		 pActiveInfoProccess->bIA32 = true; // Fixme x64?
    	}
    	else return false;
    	return true;
    }

    Cи в стиле C++

    not123, 09 Апреля 2013

    Комментарии (1)
  10. C++ / Говнокод #12870

    +25

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    bool Channel::applyPreprocessorSettings()
    {
    	if (captureDeviceID_.empty() || !isSafeToChangeSettingsNow())
    		CHANNEL_LOG("deferring applyPreprocessorSettings()");
    		needApplyPreprocessorSettings_ = true;
    		return false;
    
    	// ... (куча кода)
    	
    	return true;
    }

    Никогда - слышите, НИКОГДА! - не пишите на C++ одновременно с питоном.

    Kirinyale, 09 Апреля 2013

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