1. C++ / Говнокод #8253

    +1005

    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
    memsize =
      strlen("cpy_dta.sh ");
    
    if ( memsize >= 4096 ) {
      sprintf( errMsg, "[%s] - ExecScript string too long", func);
      return -7;
    }
    
    sprintf( args, "cpy_dta.sh " );
    
    if ( 0 != ( rc = ::system ( args ) ) )
    {
      // ...
    }

    просто фейспалм.

    Dummy00001, 20 Октября 2011

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

    +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
    function get_uri()
    {
    	// Path corrector //
    	$path_correct = str_replace("http://","",$_SERVER['REQUEST_URI']);
    	
    	if (($path_correct[strlen($path_correct)-1] != "/") and (!preg_match("#[\.|\?]#i",$path_correct))) {
    	        header("Location: {$_SERVER['REQUEST_URI']}/"); exit;
    	    }
    	// Path parser //
    	$request = str_replace("http://","",$_SERVER['REQUEST_URI']);
    	$params = strpos($request,"?");
    	if ($params>0) { $request = substr($request,0,$params); }
    	@list($ignore,$path) = @explode("/",$request,2);
    	$CRT['PATH'] = @explode("/",$path);
    	if ($CRT['PATH'][count($CRT['PATH'])-1] == "") { unset($CRT['PATH'][count($CRT['PATH'])-1]); }
    	
    	return $CRT['PATH'];
    }

    Пиздец.
    Думаю, какого хрена я отсылаю форму постом, а приходит гет.
    Такое только на пиэйчпи могли написать.

    Nicklasos, 20 Октября 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!empty($query['date_act_start']) && !empty($query['date_act_end'])) {
                    if ($query['date_act_start'] && $query['date_act_end']) {
                        $sphinx->setFilterRange('startdate', $query['date_act_start'], $query['date_act_end']);
                    }
                }

    Вот такая проверка встретилась. Железная =)

    shatzibitten, 20 Октября 2011

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

    +139

    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
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    j = 0;
    while (len >= 8)
    {
    	N[0] = N[0] ^ in[j++];
    	N[1] = N[1] ^ in[j++];
    
    	// first round
    	S = N[0];
    	N[0] = N[0] + k[0]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	S = N[0];
    	N[0] = N[0] + k[1]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	S = N[0];
    	N[0] = N[0] + k[2]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	/* skipped k[3] - k[6] */		
    
    	S = N[0];
    	N[0] = N[0] + k[7]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	// second round
    	S = N[0];
    	N[0] = N[0] + k[0]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	/* skipped */
    
    	S = N[0];
    	N[0] = N[0] + k[7]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	len = len - 8;
    };
    
    if (len > 0)
    {
    	for (i=0;i<len;i++)
    		((uint8 *)N)[i] = ((uint8 *)N)[i]^((uint8 *)&in[j])[i];
    
    	// first round
    	S = N[0];
    	N[0] = N[0] + k[0]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	/* skipped */
    
    	S = N[0];
    	N[0] = N[0] + k[7]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	// second round
    	S = N[0];
    	N[0] = N[0] + k[0]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    	/* skipped */
    
    	S = N[0];
    	N[0] = N[0] + k[7]; 
    	N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
    	N[0] = (N[0]<<11) | (N[0]>>21);
    	N[0] = N[0]^N[1];
    	N[1]=S;
    
    };

    полная версия - 250 строк.
    это не школолостудентокод, это реальный код, за который когда то кому то были заплачены деньги

    defecate-plusplus, 20 Октября 2011

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    500 Internal Server Error
    
    К сожалению, произошел какой-то сбой.
    
    Бригада скорой помощи уже выехала по этому адресу.

    AnimeGovno-_-, 20 Октября 2011

    Комментарии (1)
  6. VisualBasic / Говнокод #8248

    −149

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Dim a as Stack
    Dim b as Stack
    
    For n :=8 to 1:
        a.Push 1
        b.Push 1 xor n
        if n xor 1 = 1 then
        begin
             a.push(b) b.push(a)
        end
    end

    Мультивложенные стеки
    Операции за О(1)
    Вставка, забывчивость
    О(1)
    Извлечение в От (1)
    От - О с чертой
    Константа, короче говоря.
    Настоящий стек.

    alexoy, 19 Октября 2011

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

    −154

    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
    case 2: //редактирование таблицы
    			do
    			{
    				for (i = 0; i < size; i++) //вывод таблицы, чтобы видно было, что нужно изменять
    				{
    					for (j = 0; j < 4; j++)
    					{
    						for (k = 0; k < 4; k++)
    						{
    							adres[k] = ((maska << (24 - 8 * k)) & bin_adres[i][j]) >> (24 - 8 * k);
    						}
    						cout << adres [0] << "." << adres [1] << "." << adres [2] << "." << adres [3] << "\t";
    					}
    					cout << endl;
    				}
    				cto ("Наберите необходимый адрес назначения" , s);
    				cout << s << endl;
    				for (j = 0; j < 4; j++)
    				{
    					cin >> adres [j];
    					if (adres[j] < 0 || adres[i] > 255) //проверка каждой введенной цифры на соответствие интервалу
    					{
    						cto ("Вы ввели неверное число. Введите число в диапазонe 0-255" , s);
    						cout << s << endl;
    						j--;
    					}
    					else
    						crv = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; 
    				}
    				for (i = 0; i < size; i++) //перебор по строкам всего массива
    				{
    					if (crv == bin_adres[i][0]) //сравниваем первый элемент каждой строки, с введенным значением
    					{
    						temp = i; //получаем номер строки, которую необходимо редактировать
    						break;
    					}
    				}
    				cto ("Что необходимо изменить?\n Адрес назначения (нажмите 1)\n Адрес источника (нажмите 2)\n Шлюз(Нажмите 3)\n Маску(нажмите 4)\n", s);
    				cout << s << endl;
    				number = 0;
    				cin >> number; //получаем номер столбца для изменения
    				number--; //для правильного определения индекса элемента в массиве
    				cto ("Введите элемент", s);
    				cout << s << endl;
    				for (i = 0; i < 4; i++)
    				{
    					cin >> adres[i];
    					if (adres[i] < 0 || adres[i] > 255)
    					{
    						cto ("Вы выпали из диапазона 0-255. Введите нормальное число", s);
    						cout << s << endl;
    						i--;
    					}
    				}
    				bin_adres[temp][number] = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; //записываем данный элемент в заданную строку
    				cto ("Для выхода из редактирования нажмите 1 (продолжить - любая цифра)", s);
    				cout << s << endl;
    				cin >> number;
    			}
    			while (number != 1);
    			system("cls"); //очиста окна командной строки
    			break;

    Команда стажеров писала маршрутизатор на базе 1С предприятия и вот что получилось.

    alexoy, 19 Октября 2011

    Комментарии (3)
  8. VisualBasic / Говнокод #8246

    −83

    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
    Sub Main()
            Dim MyArray() As Integer
            Dim start As Integer
            Dim ends As Integer
            Dim i As Integer
    
    
    
            For i = 0 To 10
    
    
    
                MyArray(i) = Console.ReadLine()
    
                i = i + 1
    
            Next
    
            'start = Console.Read
    
    
    
    
            Console.ReadKey()
        End Sub
    
    End Module

    как присвоить элементы массива значение введенное с клавиатуры?

    smitty, 19 Октября 2011

    Комментарии (12)
  9. Assembler / Говнокод #8245

    +248

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Актуальна задача о двух стеках
    
    push esp1
    push esp2
    
    Требуется реализация забывчивого стека
    
    push 1 [1,2,3] -> [1,1,2]

    alexoy, 19 Октября 2011

    Комментарии (6)
  10. JavaScript / Говнокод #8244

    +164

    1. 1
    2. 2
    var exists = eval(model.get('posting').exists);
    if ( typeof(exists) == "undefined" ) exists = true;

    ужос

    marg, 19 Октября 2011

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