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

    +166

    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
    bool ok = false;
     
            // инициализируем WinInet
            HINTERNET hInternet =
                    ::InternetOpen(
                            TEXT("WinInet Test"),
                            INTERNET_OPEN_TYPE_PRECONFIG,
                            NULL,NULL,
                            0);
     
            if (hInternet != NULL) {
                    // открываем HTTP сессию
                    HINTERNET hConnect =
                            ::InternetConnect(
                                    hInternet,
                                    TEXT(URL),
                                    INTERNET_DEFAULT_HTTP_PORT,
                                    NULL,NULL,
                                    INTERNET_SERVICE_HTTP,
                                    0,
                                    1u);
     
                    if (hConnect != NULL) {
                            // открываем запрос
                            HINTERNET hRequest =
                                    ::HttpOpenRequest(
                                            hConnect,
                                            TEXT("GET"),
                                            TEXT(DOC),
                                            NULL,
                                            NULL,
                                            0,
                                            INTERNET_FLAG_KEEP_CONNECTION,
                                            1);
     
                            if (hRequest != NULL) {
                                    // посылаем запрос
                                    BOOL bSend = ::HttpSendRequest(hRequest, NULL,0, NULL,0);
                                    if (bSend) {
                                            // создаём выходной файл
                                            ofstream fnews("news.html",ios::out|ios::binary);
                                            
                        if (fnews.is_open())
                                            for (;;) {
                                                    // читаем данные
                                                    char  szData[1024];
                                                    DWORD dwBytesRead;
                                                    BOOL bRead =
                                                            ::InternetReadFile(
                                                                    hRequest,
                                                                    szData,sizeof(szData)-1,
                                                                    &dwBytesRead);
    
                                                    if (bRead == FALSE  ||  dwBytesRead == 0)
                                                            break;
     
                                                    // сохраняем результат
                                                    szData[dwBytesRead] = 0;
                                                    fnews << szData;
                                                    cout << szData;
     
                                                    ok = true;
                                            }
                                    }
                                    // закрываем запрос
                                    ::InternetCloseHandle(hRequest);
                            }
                            // закрываем сессию
                            ::InternetCloseHandle(hConnect);
                    }
                    // закрываем WinInet
                    ::InternetCloseHandle(hInternet);
            }

    qbasic, 05 Марта 2011

    Комментарии (4)
  2. Java / Говнокод #5890

    +82

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for (FileItem item : items) {
        try {
            item.write(new File(repo 
                    + System.currentTimeMillis() 
                    + "_" + item.getName()));
        } catch (Exception ex) {
            log.error(ex, ex);
        }
        mav.addObject("result", "http://xxx.xx/uploads/"
                + System.currentTimeMillis() 
                + "_" + item.getName());
    }

    долго думал почему имя файла на диске не совпадает с именем в ссылке.

    zlob.jc, 05 Марта 2011

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

    +160

    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
    <html> 
    <head>
    <title>Калькулятор</title> 
    </head>
    <body>
    <?
    function show()
    {
    global $action, $result, $first, $second;
    ?>
    <FORM method="GET" action="">
    <input type="text" name="first">
    <input type="text" name="second">
    <table>
    <tr>
    <td><input type="submit" name="action" value="sum"></td>
    <td><input type="submit" name="action" value="min"></td>
    <td><input type="submit" name="action" value="mult"></td>
    </tr>
    <tr>
    <td><input type="submit" name="action" value="dev" ;></td>
    <td><input type="submit" name="action" value="stepen";></td>
    <td><input type="submit" name="action" value="procent";></td>
    <td><input type="submit" name="action" value="koren";></td>
    </tr>
    </table>
    </form>
    <?
    }
    function calc() 
    { 
    global $action, $result, $first, $second; 
    switch($action)
    {
    case "sum": $result = $first+$second; 
    break;
    case "min": $result = $first-$second; 
    break;
    case "mult": $result = $first*$second; 
    break;
    case "dev":
    if (!$second) 
    {
    exit("Извините, программа не может выполнить действие: на ноль делить нельзя");
    }
    $result=$first/$second; 
    break;
    case "procent": $result = $first*($second/100); 
    break;
    case "stepen": $result = pow($first, $second); 
    break;
    case "koren": $result = pow($first,0.5); 
    break;
    }
    ?>
    <b> <? echo $result; ?> </b> 
    <?
    }
    if ($action) 
    calc(); 
    else show();
    ?>
    </body> 
    </html>

    qbasic, 04 Марта 2011

    Комментарии (10)
  4. Java / Говнокод #5888

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function formatSpeedBits(speed) {
    	// format speed in bits/sec, input: bytes/sec
    	if (speed < 125000) return Math.round(speed / 125) + " Kbps";
    	if (speed < 125000000) return Math.round(speed / 1250)/100 + " Mbps";
    	// else
    	return Math.round(speed / 1250000)/100 + " Gbps";  // wow!
    }

    JS в интерфейсе прошивки dd-wrt. Не совсе говнокод.

    danilissimus, 04 Марта 2011

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

    +105

    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
    #define C_WRONG              -2000
    
    ....
    
    int tttt_atoi(char* p_string){
    
       int result = C_WRONG;
    
       if ( *p_string < '0' || *p_string > '9' )
          return C_WRONG;
    
       result = atoi(p_string);
       return result;
    }
    
    double tttt_atof(char* p_string){
    
       double result = C_WRONG;
       result = atof(p_string);
       if (result!=0){
          return result;
       }
       else{
          if(strcmp(p_string,"0.0")==0 || strcmp(p_string,"0")==0 || strcmp(p_string,"0.")==0){
             return result;
          }
          else{
             return C_WRONG;
          }
       }
    }

    и вы посмейтесь. или facepalm'нитесь. синтакс оригинала.

    Dummy00001, 04 Марта 2011

    Комментарии (28)
  6. PHP / Говнокод #5886

    +159

    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
    /**
         * 
         * Remove single symbols
         * string $text
         */
        public function removeSingleSymbols($text)
        {
            mb_internal_encoding("UTF-8");
            $searchQuery = str_replace('"', '', $text);
            $arr = explode(" ", $searchQuery);
           
            $flag = false;
            foreach ($arr as $word){
                if(mb_strlen($word) > 1){
                    if(flag){
                        $searchText .= " ";
                    }
                    $flag = true;
                    $searchText .= $word;
                }
            }
            $searchText = trim($searchText);
            if($flag){
               $searchText = '"' . $searchText . '"';
            }else{
               $searchText = '';
            }
            
            return $searchText;
        }

    blackray, 04 Марта 2011

    Комментарии (3)
  7. Java / Говнокод #5885

    +76

    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
    public void run() {
    		try {
                        System.out.println("START QUOTE RECEIVER SERVER SOCKET..............");
                        try
                        {
                            Thread.sleep(5000);
                        }
                        catch (Exception ex) {}
                        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    
    			ServerSocket serverSocket = new ServerSocket(port);
    			while (!isInterrupted()) {
    				new RemoteDataReceiver(serverSocket.accept());
    			}
    			serverSocket.close();
    		} catch (IOException e) 
                    {
                        e.printStackTrace();
    		}
    	}

    Русская синхронизация. Бессмысленная и беспощадная...

    papuas_guinea, 04 Марта 2011

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

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    string tmpS;
    //идут всякие монипуляции с этой строкой
    //. . .
    tmpS.Remove(0, tmpS.Length);

    Реальный код из коммерческого продукта.

    inser, 04 Марта 2011

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

    +166

    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
    # Получаем историю активации карт пользователя
    		$query = mysql_query("CENSORED") or die(mysql_error());
    		$usercount=mysql_numrows($query);
    
    		# Добавляем бонусы для каждой 10-й и 100-й карты
    		for ($i=0; $i<=1000; ($i+=10)) // переменная $i изменяется от 1 до 5. В скобках { ... } заключена одна итерация (заход) цикла.
    		{
    		$g=$i-1;
    		if($g=="-1")
    		{
    		}
    		else
    		{
    			switch($usercount)
    			{
    			case "$g":
    			if($g=="99" OR $g=="199" OR $g=="299" OR $g=="399" OR $g=="499" OR $g=="599" OR $g=="699" OR $g=="799" OR $g=="899" OR $g=="999")
    			{
    			# Добавляем бонусы каждой 100-й карте
    			$query = mysql_query("CENSORED");
    			$query = mysql_query("CENSORED");
    			$query = mysql_query("CENSORED");
    			}
    			else
    			{
    			# Добавляем бонусы каждой 10-й карте
    			$query = mysql_query("CENSORED");
    			$query = mysql_query("CENSORED");
    			$query = mysql_query("CENSORED");
    			}
    			break;
    			header("Location: $refer?err=ok");
    			exit;
    			}
    		}
    		}

    Нашел этот код в одном из проектов, поддержкой которого пришлось заниматься. Это сервис в котором пользователь активирует бонусные карты. Таким чудесным образом автор учитывал дополнительные бонусы за каждую 10-ю и 100-ю карту... Авторское форматирование сохранено. SQL запросы пришлось спрятать.

    kostj, 04 Марта 2011

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

    +166

    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
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
        <title>Сайт Управления безопасности информационных технологий</title>
      </head>
      <body>
    <?php
    echo "You will be redirected after 5 seconds";
    sleep(5);
    header("Location: https://itsdhub");
    ?>
      </body>
    </html>

    Найдено в fido7.ru.php.
    Хотел сделать с помощью PHP редирект с таймаутом.

    Считал, что сначала пользователь увидит сообщение "You will be...", а через
    пять секунд сработает header. Hо получается так, что сообщение в браузере не
    выводится, а просто идет пятисекундная задержка с последующим срабатыванием
    header. Почему? Что я не так сделал?

    0__1, 04 Марта 2011

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