1. bash / Говнокод #16839

    −115

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    ls -laF /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
    if [ "$?" -ne 0 ]; then
        current_location=$PWD
        gzip -dc < curl-7.22.0.tar.gz | tar -xf -
        cd curl-7.22.0
        ./configure --prefix=/usr
        make
        make install
        cd $current_location
    else
        echo "libcurl.so.4.2.0 already exist!"
    fi

    Ключ -f? Нет, не слышали.

    codemonkey, 12 Октября 2014

    Комментарии (16)
  2. Си / Говнокод #16838

    +133

    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
    82. 82
    83. 83
    84. 84
    85. 85
    /*Checks whether the path exists and the path is directory, otherwise creates a new directory*/
    RET_VALS check_create_directory(const char* const dir_path, void (*print_func)(int, char *,...))
    {
    	RET_VALS ret_val;
    	struct stat sb;
    
    	ret_val = RET_OK;
    	if (NULL != dir_path)
    	{
    		if(NULL != print_func)
    		{
    			print_func(DBG_INFO, "%s - Checking %s existence\n", __FUNCTION__, dir_path);
    		}
    		else
    		{
    			dbgprintln("Checking %s existence", dir_path);
    		}
    		if (0 != stat(dir_path, &sb) || (false == S_ISDIR(sb.st_mode)))
    		{
    			ret_val |= RET_DIR_MISSING;
    			if(NULL != print_func)
    			{
    				print_func(DBG_INFO, "%s - %s is missing\n", __FUNCTION__, dir_path);
    			}
    			else
    			{
    				dbgprintln("%s is missing", dir_path);
    			}
    			errno = 0;
    			if (0 == mkdir(dir_path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH))
    			{
    				ret_val |= RET_DIR_CREATE_OK;
    				if(NULL != print_func)
    				{
    					print_func(DBG_INFO, "%s - %s is successfully created\n", __FUNCTION__, dir_path);
    				}
    				else
    				{
    					dbgprintln("%s is successfully created", dir_path);
    				}
    			}
    			else
    			{
    				char err_msg[_K];
    
    				sprintf(err_msg, "Failed to create %s, error %04d - %s", dir_path, errno, strerror(errno));
    				ret_val |= RET_DIR_CREATE_FAILED;
    				//dbg_ffln(DBG_ERROR, "Failed to create %s", dir_path);
    				if(NULL != print_func)
    				{
    					print_func(DBG_INFO, "%s - %s\n", __FUNCTION__, err_msg);
    				}
    				else
    				{
    					dbgprintln("%s", err_msg);
    				}
    			}
    		}
    		else
    		{
    			ret_val |= RET_DIR_ALREADY_EXIST;
    			if(NULL != print_func)
    			{
    				print_func(DBG_INFO, "%s - %s already exists\n", __FUNCTION__, dir_path);
    			}
    			else
    			{
    				dbgprintln("%s already exists", dir_path);
    			}
    		}
    	}
    	else
    	{
    		ret_val = RET_DIR_MISSING;
    		if(NULL != print_func)
    		{
    			print_func(DBG_ERROR, "%s - No directory name is provided", __FUNCTION__);
    		}
    		else
    		{
    			dbgprintln("No directory name is provided");
    		}
    	}
    	return ret_val;
    }

    Продолжаем раскопки. Вообще весь .с файл можно сюда выложить.

    codemonkey, 12 Октября 2014

    Комментарии (3)
  3. PHP / Говнокод #16837

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    'errorHandler' =>
        class yii\console\ErrorHandler#6 (6) {
          public $discardExistingOutput =>
          bool(true)
          public $memoryReserveSize =>
          int(262144)
          public $exception =>
          NULL
          private $_memoryReserve =>
          string(262144) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"...

    Где-то в недрах Yii2. Я, кажется, понимаю, что это и зачем (хотя не уверен, что это работает, когда памяти уже не хватило), но выглядит просто адово.

    Fike, 12 Октября 2014

    Комментарии (1)
  4. SQL / Говнокод #16836

    −124

    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
    SELECT * FROM (
        SELECT `comments`.`user`,
                       `comments`.`time`,
                       `comments`.`topic`,
                       `comments`.`id` AS `commid`,
                       `topic`.`name`,
                       `topic`.`id`,
                       `topic`.`translit`,
                       `topic`.`blog`,
                       `user`.`login`
        FROM `comments`, `topic`, `user`
        WHERE
        `comments`.`topic` IN (
            SELECT DISTINCT `topic`
            FROM `comments`
            ORDER BY `time` DESC)
            AND `topic`.`id` = `comments`.`topic`
            AND `user`.`id` = `comments`.`user`
            ORDER BY `comments`.`time` DESC
        ) `data`
        GROUP BY `data`.`topic`
        ORDER BY `data`.`time` DESC
        LIMIT 10

    Говнокод или необходимость?
    Не нашел способов сделать это одним запросом.

    Efog, 11 Октября 2014

    Комментарии (35)
  5. Си / Говнокод #16835

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #ifdef __APPLE__
    #define OPENGL_LIBRARY "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib"
    #else
    #define OPENGL_LIBRARY "libGL.so"
    #endif

    А вообще, у мака есть переменные окружения?

    Pythoner, 10 Октября 2014

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public new String StartTime { get { return base.StartTime.ToString("H:mm"); } }
    
    public new String EndTime { get { return base.EndTime.ToString("H:mm"); } }
    
    public DateTime base_StartTime { get { return base.StartTime; } }
    
    public DateTime base_EndTime { get { return base.EndTime; } }

    kjuby8709gsome, 10 Октября 2014

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

    −127

    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
    теСтрокаТЗ_двухТЧ=ТЗ_двухТЧ_РТиУ.Найти(СокрЛП(ЗначениеВСтрокуВнутр(теСтрокаТЧ.Номенклатура))+"++"+Строка(ё)+"++"+Строка(теСтрокаТЧ.НомерСтроки),"Ид");
    		 теСтрокаТЗ_НДС_БезТекРТиУ=ТЗ_НДС_БезТекРТиУ.Найти(теСтрокаТЧ.Номенклатура);
    	 	 ТЗостНмЗаказаБезТекРТиУ=ПолучитьТЗ_НоменклатурыЗаказа(текущСделка, РТиУобъ.Ссылка, ТекДата, ТекДата, ДокиЗаказаПлан, теСтрокаТЧ.Номенклатура);
    	Если ТЗостНмЗаказаБезТекРТиУ.Количество()>0 И ТЗостНмЗаказаБезТекРТиУ.Итог("СуммаКолвоПоНм")=ТЗотбора1.Итог("КолвоВ_ЕдХр") Тогда	
                 РазностьСум=ТЗостНмЗаказаБезТекРТиУ.Итог("СуммаСуммВзаиморасчПоНм")-(ТЗотбора1.Итог("Сумма")+?(текущСуммаВключаетНДС,0,ТЗотбора1.Итог("СуммаНДС")));
    		Если РазностьСум<>0 И ПолучитьМодульЧисла(РазностьСум)<=Константы.опмМаксимальноеКорректируемоеВторымСпособомОтклонениеСуммОтгрузкиОтЗаказа.Получить() Тогда 
    	    теСтрокаТЧ.Сумма=теСтрокаТЧ.Сумма+РазностьСум*ЗнакТипаДок;    теСтрокаТЗ_двухТЧ.Сумма=теСтрокаТЗ_двухТЧ.Сумма+РазностьСум;
    	    КонецЕсли;
    		Если ВсеОтгрузкиВВалютеЗаказа И НЕ теСтрокаТЗ_НДС_БезТекРТиУ=Неопределено Тогда
    			     РазностьСумНДС=теСтрокаТЗ_НДС_БезТекРТиУ.СуммаНДС-ТЗотбора1.Итог("СуммаНДС");
    		    Если РазностьСумНДС<>0 И ПолучитьМодульЧисла(РазностьСумНДС)<=Константы.опмМаксимальноеКорректируемоеВторымСпособомОтклонениеСуммОтгрузкиОтЗаказа.Получить() Тогда 
    	    теСтрокаТЧ.СуммаНДС=теСтрокаТЧ.СуммаНДС+РазностьСумНДС*ЗнакТипаДок;    теСтрокаТЗ_двухТЧ.СуммаНДС=теСтрокаТЗ_двухТЧ.СуммаНДС+РазностьСумНДС;
    	            Если НЕ текущСуммаВключаетНДС Тогда
    	    теСтрокаТЧ.Сумма=теСтрокаТЧ.Сумма      -РазностьСумНДС*ЗнакТипаДок;    теСтрокаТЗ_двухТЧ.Сумма=теСтрокаТЗ_двухТЧ.Сумма      -РазностьСумНДС;
                    КонецЕсли;
    	        КонецЕсли;
    	    КонецЕсли;
    		Если ЗаказПокВыполненПолностью Тогда СтрокаТЗпоНм=ТЗ_НепоставленнойНмЗаказа.Найти(теСтрокаТЧ.Номенклатура);
    			Если                          НЕ СтрокаТЗпоНм=Неопределено Тогда
    		   ТЗ_НепоставленнойНмЗаказа.Удалить(СтрокаТЗпоНм);
    	        КонецЕсли;
    	    КонецЕсли;
        Иначе ЗаказПокВыполненПолностью=Ложь;
        КонецЕсли;

    HomoAlbus, 10 Октября 2014

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

    +58

    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(!vect.empty())
    {
       cv::sort(vect, vect, CV_SORT_ASCENDING );
    }
    
    while(vect.size()>100)
    {
       cv::sort(vect, vect, CV_SORT_DESCENDING );
       vect.pop_back();
       cv::sort(vect, vect, CV_SORT_ASCENDING );
       vect.pop_back();
    }

    hedrok, 09 Октября 2014

    Комментарии (8)
  9. Java / Говнокод #16831

    +84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private static final int INT_5 = 5;
    private static final int INT_3 = 3;
    private static final int INT_4 = 4;
    private static final int INT_6 = 6;
    private static final int INT_7 = 7;
    private static final int INT_8 = 8;

    xaoc, 09 Октября 2014

    Комментарии (22)
  10. Python / Говнокод #16830

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    def reverse_govnocode(text):
        rev_str = []
        str_len = len(text) - 1
        while str_len >= 0:
            rev_str.append(text[str_len])
            str_len -= 1
        return ''".join(rev_str)

    stanp, 09 Октября 2014

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