1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #12017

    +15

    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
    #include <iostream>
    #include <cxxabi.h>
    #include <typeinfo>
    
    int main(void)
    {
       uint8_t i = 63;
       int  status;
    
       std::cout << i << std::endl;
    
       char *realname = abi::__cxa_demangle(typeid(i).name(), 0, 0, &status);
       std::cout << "Real type of uint8_t is: " << realname << std::endl;
       delete (realname);
    
       std::cout << (unsigned int)i << std::endl;
    
    return 0;
    }

    ...нативный 8bit-ый беззнаковый int.

    sayidandrtfm, 28 Октября 2012

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

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    final TextField passwordField = UIFactory.createTextField(loginInfo, null);
    passwordField.setWidth(textFieldWidthPx);
    // Yes, they really want the password field to be shown openly.
    // Don't blame me, I'm just following orders!

    Безопасность такая безопасность.

    someone, 18 Сентября 2012

    Комментарии (33)
  4. C++ / Говнокод #11473

    +2

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netdb.h> 
    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    struct user_data{
      char user_name[100];
      char host_name[100];
    }cuser;
    char file_path[100000];
    int sockfd;
    void error(const char *msg){
        perror(msg);
        exit(0);
    }
    char s[128];vector<user_data> users;
    int main(int argc, char *argv[]){
        int portno, n;struct sockaddr_in serv_addr;
        struct hostent *server;
        char buffer[256];
        static char file_name[256];
        if (argc < 2) {
           fprintf(stderr,"usage %s hostname port\n", argv[0]);
           exit(0);
        }
        portno = atoi(argv[1]);
        while(getchar()!='q'){
        sockfd = socket(AF_INET, SOCK_STREAM, 0);
        if (sockfd < 0) 
            error("ERROR opening socket");
        gethostname(s, 128);
        server = gethostbyname(s);
        if (server == NULL) {
            fprintf(stderr,"ERROR, no such host\n");
            exit(0);
        }
        bzero((char *) &serv_addr, sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
        bcopy((char *)server->h_addr, 
             (char *)&serv_addr.sin_addr.s_addr,
             server->h_length);
        serv_addr.sin_port = htons(portno++);
        if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) 
            error("ERROR connecting");
        bzero(buffer,256);
        n = write(sockfd,buffer,strlen(buffer));
        if (n < 0) 
             error("ERROR writing to socket");
        bzero(buffer,256);
        n = read(sockfd,buffer,255);
        if (n < 0) 
             error("ERROR reading from socket");
        int sf=0;
        for(int i=0;i<=strlen(buffer)-1;i++){
         if(buffer[i]=='@'){
          sf=i; 
         }
         if(sf==0){
          cuser.user_name[i]=buffer[i]; 
         } else {
          cuser.host_name[i-sf]=buffer[i+1]; 
         }
        }
        users.push_back(cuser);
         cout << cuser.user_name << " hostname: " << cuser.host_name << endl;
        printf("Enter file name:\n");
        fgets(file_name,255,stdin);
            n = write(sockfd,file_name,255);
        if (n < 0) 
             error("ERROR writing to socket");
         bzero(file_name,256);
         n = read(sockfd,file_path,100000);
        if (n < 0) 
             error("ERROR reading from socket");
        printf("\n%s\n",file_path);
        memset(file_path,'\0',100000);
         close(sockfd);
        }
        printf("\n\tRegistered users\n");
       for(int i=0; i < users.size(); i++)
       {
          cout << users[i].user_name << " hostname: " << users[i].host_name << endl;
       }
        close(sockfd);return 0;
    }

    Регистрация клиента на сервере

    AliceGoth, 23 Июля 2012

    Комментарии (33)
  5. Pascal / Говнокод #10405

    +97

    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
    SetLength(s,N);
      SetLength(Y,N);
      SetLength(U,N);
      SetLength(Z,N);
      SetLength(E,N);
      for i:=0 to N do  //какбэ на выход за границы даже не смотрим, не в этом суть
        begin
          SetLength(S[i],M);
          SetLength(Y[i],M);
          SetLength(U[i],M);
          SetLength(Z[i],M);
          SetLength(E[i],M);
        end;

    Переделывал чужой консольный проект под форму, не сразу понял, что происходит.
    Так вот, Вы, наверное, думаете, что знаете, как задавать размер динамического массива? Нет, нихрена вы не знаете.

    SkuII, 29 Мая 2012

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

    +148

    1. 1
    if(type_file=='png'||type_file=='jpg'||type_file=='gif'||type_file=='jpeg'||type_file=='png')

    хуита, 24 Мая 2012

    Комментарии (33)
  7. Си / Говнокод #10122

    +111

    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
    __flash unsigned char keyGenData[256*7]={
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
    
            1*(1<<0)+1*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            0*(1<<0)+0*(1<<1)+0*(1<<2)+0*(1<<3)+0*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
    
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            0*(1<<0)+0*(1<<1)+0*(1<<2)+0*(1<<3)+0*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
    
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            0*(1<<0)+0*(1<<1)+0*(1<<2)+0*(1<<3)+0*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
    
            0*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4), //"4"
            0*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            0*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            0*(1<<0)+0*(1<<1)+0*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
    
            0*(1<<0)+0*(1<<1)+0*(1<<2)+0*(1<<3)+1*(1<<4), //"5"
            0*(1<<0)+1*(1<<1)+1*(1<<2)+1*(1<<3)+1*(1<<4),
            0*(1<<0)+0*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            0*(1<<0)+1*(1<<1)+1*(1<<2)+0*(1<<3)+1*(1<<4),
            1*(1<<0)+0*(1<<1)+0*(1<<2)+1*(1<<3)+1*(1<<4),

    Нарыл в институте.

    Забивают цифры для показывания на светодиодной панельке 5x7 (если присмотритесь, можете увидеть картинку, образуемую нулями). Такой простыни 96 КБ.

    vercetti, 30 Апреля 2012

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $fld_insurance_estimate_sales = $proformadetail[0]['fld_insurance_estimate_sales'];
    $fld_insurance_estimate_cost = $proformadetail[0]['fld_insurance_estimate_cost'];
    $fld_oceanfright_sales = $proformadetail[0]['fld_oceanfright_sales'];
    $fld_oceanfright_cost = $proformadetail[0]['fld_oceanfright_cost'];
    $fld_adjustment_oceanfright_sales = $proformadetail[0]['fld_adjustment_oceanfright_sales'];
    $fld_adjustment_oceanfright_cost = $proformadetail[0]['fld_adjustment_oceanfright_cost'];

    Не, ну extract($proformadetail[0]) просто никак нельзя сделать :)

    miraage, 20 Апреля 2012

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

    +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
    unsigned
    int
    length () {
    
        unsigned
        int
            number = (this -> number + 1) % 16;
        int
            second = size - number;
    
    
        return (second / 16) + (1 % ((second % 16) + 1)) + (1 % (number + 1));
    }

    Вот такая фигня у нас в коде, работающем в аппаратуре отображения и протоколирования данных на АЭС.
    Авторское форматирование сохранено.

    Нашли когда оно с новыми конфигами стало падать от деления на ноль при запуске.

    Balthasar, 17 Февраля 2012

    Комментарии (33)
  10. Perl / Говнокод #8784

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($movie->{'genre'}=~m/\,+/)  {
                    my @genre = split(',',$movie->{'genre'}) if $movie->{'genre'};
                    my $genre = join(",", split(',', $movie->{'genre'}, 2));
                    for (my $i = 0; $i <=1; $i++) {
                        $genre .= $genre[$i].',' if @genre;
                    };
                    $genre =~s/\,$//;
                    $movie->{'genre'} = $genre if ($genre);
    };

    На чем-то конкретном внимание заострять не буду.
    Код достаточно прост, но довольно неуклюж.

    santa_microbe, 09 Декабря 2011

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

    +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
    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
    private function setFxFF()
    	{
    		if(!isset($_GET["body"]))return;
    		if(preg_match('/^[\dA]{4,100}$/',$_GET["body"]) == 0)return;
    		
    		$str = $_GET["body"];$pos = 0;
    		$c=0;
    		do
    		{//$c++;if($c>10)return;
    		
    			$s = substr($str,$pos,4);$pos+=4;//echo "<br>$pos<br>";
    			if(strlen($s) < 4)return;
    			
    			$ppos = substr($s,0,3);$ppos = intval($ppos);
    			$val = substr($s,3,1);
    			
    			if($ppos == 0)continue;
    			
    			if($ppos <= 99)$col = 'fa';
    			elseif($ppos >= 100 && $ppos <= 199)$col = 'fb';
    			elseif($ppos >= 200 && $ppos <= 299)$col = 'fc';
    			elseif($ppos >= 300 && $ppos <= 399)$col = 'fd';
    			elseif($ppos >= 400 && $ppos <= 499)$col = 'fe';
    			if(!isset($col))return;
    			
    			switch($col)
    			{
    				case 'fb':$ppos -= 100;break;
    				case 'fc':$ppos -= 200;break;
    				case 'fd':$ppos -= 300;break;
    				case 'fe':$ppos -= 400;break;
    			}
    			
    			$fStr = $this->getUserVal($col);//echo $ppos;
    			//$pos = $ppos; //$this->get_F_pos($body1);
    			$fStr = $this->replace_F_str($fStr,$ppos,$val);//echo $fStr;
    			//echo '<br>'.$fStr.'<br>';
    			$this->setUserVal($col,$fStr,'str');
    			unset($col);
    		}while(true);
    	}

    kyzi007, 09 Декабря 2011

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