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

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

    +131.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
    static void module3_exit(void){        
      cdev_del(mydev);            
      printk(KERN_INFO"Device"DEV_NAME"was deleted");
    };                                               
    int mydev_open(struct inode *in,struct file *filp){                                                 
      printk(KERN_INFO DEV_NAME "open");              
      struct dev_state *dev_stat;                     
      dev_stat=&STATE[MINOR(in->i_rdev)];             
      if(dev_stat->dev_open)                          
      {                                               
        printk("Kernel: device "DEV_NAME" is exist"); 
        return -EBUSY;                                
      };                                              
      dev_stat->dev_open++;                           
      dev_stat->dev_read=0;                           
      dev_stat->dev_write=0;                          
      int num= NUM(in->i_rdev);                       
      int type=TYPE(in->i_rdev);                      
      return 0;                                       
    };                                                
    
    int mydev_ioctl(struct inode *in,struct file *filp,unsigned int ioctl,unsigned long param)
    {                                                                                         
      printk(KERN_INFO DEV_NAME "ioctl");                                                     
      return 0;                                                                               
    };                                                                                        
    
    ssize_t mydev_read(struct file *filp,char *buff,ssize_t len,loff_t pos)
    {                                                                      
      printk(KERN_INFO DEV_NAME "read");                                   
      struct inode *in;                                                    
      int count=len;                                                       
      struct dev_state *devst;                                             
      printk("Kernel: try to read %d bytes \n",len);                       
      in=filp->f_dentry->d_inode;                                          
      printk("Kernel: minor number is %d",MINOR(in->i_rdev));              
      devst=&STATE[MINOR(in->i_rdev)];                                     
      while(count--)                                                       
      {                                                                    
        put_user(inb_p(PORT_START+10*MINOR(in->i_rdev)),buff);             
        buff++;                                                            
      };                                                                   
      devst->dev_read+=len;                                                
      printk(KERN_INFO"Kernel: read "DEV_NAME" %d bytes",len);             
      return len;                                                          
    };                                                                     
                                                                           
    ssize_t mydev_write(struct file *filp, const char *buff, ssize_t len,loff_t pos)
    {
      printk(KERN_INFO DEV_NAME "write");
      struct inode *in;
      int count=len;
      unsigned char byte;
      struct dev_state *devst;
      printk(KERN_INFO"Kernel: try to write %d bytes\n",len);
      in=filp->f_dentry->d_inode;
      printk(KERN_INFO"Kernel: minor number %d\n",MINOR(in->i_rdev));
      devst=&STATE[MINOR(in->i_rdev)];
      while(count--)
      {
        get_user(byte, buff);
        outb_p(byte, PORT_START+10*MINOR(in->i_rdev));
        buff++;
      };
      devst->dev_write +=len;
      printk(KERN_INFO"Kernel: "DEV_NAME " written %d bytes\n",len);
      return len;
    };

    Модуль ядра

    Alice, 25 Декабря 2009

    Комментарии (14)
  3. Python / Говнокод #2314

    −83.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...
    ...
    if flag not True and flag not False:
        if n < 1 and n > 1:
            #bla bla bla

    издержки мучительного дня

    sultan, 23 Декабря 2009

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

    +158.3

    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
    global $_PATH;
    
    /* Подключаем конфигурационный файл */
    
    include_once("$_PATH/config.res.php");
    //require_once("DB.php");
    /* Соединение с базой данных */
    
    mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db($db_name);
    mysql_query("SET NAMES CP1251");
    mysql_set_charset('CP1251');
    
    //$db =&DB::Connect( $dsn, array() );
    //if (PEAR::isError($db)) { die($db->getMessage()); }
    
    /*  создаем один входной массив */
    if($_SERVER['REQUEST_METHOD'] == "POST") $array=$_POST;
    else $array=$_GET;
    
    $query = mysql_query("SELECT id FROM users WHERE login='".$array[name]."'");
    $id = null;
    if($query){ list($id) = mysql_fetch_row($query); }
    
    if($query = mysql_query("SELECT strip_tags FROM modules WHERE class='".$array["class"]."'"))
        {
        list($strt) = mysql_fetch_row($query);
        makearray($strt);
         }
    else
            makearray(0);
    
    /* ставим таймзону */
    date_default_timezone_set("Asia/Krasnoyarsk");
    
    /* собственный обработчик ошибок */
    function ehandler($errno,$errstr,$errfile,$errline){
    global $_PATH;
            if($errno != 8){
            $fp = fopen($_PATH."../www/admin/simple.error.log","a");
            $time = date("j / n / Y H:m:s");
    #        fputs ($fp,"$time - $errno - $errfile - строка: $errline - $errstr\r\n");
     print "$time - $errno - $errfile - строка: $errline - $errstr\r\n";
    
            print "
    
    <span>Oops!</span>";}
    }
    
    /* режим отладки и перегрузка обработчика ошибок*/
        error_reporting(E_ERROR|E_WARNING|E_PARSE);
        set_error_handler(ehandler);

    <span>Oops!</span>

    :D

    nolka4, 23 Декабря 2009

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

    +165.7

    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
    function sendClicked(F)
    {
    var binary = document.getElementById("binary");
    var binary_file = binary.value;
    var binary_len = binary_file.length;
    if(binary_file == ""){
    binary.focus();
    alert('File name can not be empty !');
    return false;
    }
    else {
    if(binary_len<=4) {
    binary.focus();
    alert('File is wrong !');
    return false;
    }
    if(binary_file.charAt(0) != '/') {
    if(binary_file.charAt(1) != ':') {
    binary.focus();
    alert('File is wrong !!');
    return false;
    }
    }
    if(binary_file.charAt(binary_len-4) != '.') {
    binary.focus();
    alert('File is wrong !!');
    return false;
    }
    if(binary_file.charAt(binary_len-3) != 'B') {
    if(binary_file.charAt(binary_len-3) != 'b') {
    binary.focus();
    alert('File is wrong !!');
    return false;
    }
    }
    if(binary_file.charAt(binary_len-2) != 'I') {
    if(binary_file.charAt(binary_len-2) != 'i') {
    binary.focus();
    alert('File is wrong !!');
    return false;
    }
    }
    if(binary_file.charAt(binary_len-1) != 'N') {
    if(binary_file.charAt(binary_len-1) != 'n') {
    binary.focus();
    alert('File is wrong !!');
    return false;
    }
    }
    show_div(true, "progress_div");
    progress();
    return true;
    }
    }
    
    </script>

    Со странички обновления прошивки DWL-G700AP. Из-за этого говнокода прошивается только из internet explorer.

    user.user521, 19 Декабря 2009

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

    +164.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $arr = array('blabla','blabla_1','blabla_2');
    $mask = 'blabla';
    $lenght = strlen($mask);
    $pos = null;
    foreach($arr as $k=>$v)
     {
      $pos = stripos($arr[$k],$mask);
      if(isset($pos))
      {
        $arr[$k] = substr($arr[$k],$pos,$lenght);
      }
     }

    Задача была - удалить в строках все после символа _
    Источник http://www.nulled.ws/showthread.php?t=159950

    RolCom, 14 Декабря 2009

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

    +126.7

    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
    covered({tee,_,X,Y,1}) -> [{X,Y},{X-1,Y-1},{X-1,Y},{X-1,Y+1}];
    covered({tee,_,X,Y,2}) -> [{X,Y},{X,Y+1},{X+1,Y+1},{X-1,Y+1}];
    covered({tee,_,X,Y,3}) -> [{X,Y},{X+1,Y},{X+1,Y+1},{X+1,Y-1}];
    covered({tee,_,X,Y,4}) -> [{X,Y},{X,Y-1},{X+1,Y-1},{X-1,Y-1}];
    covered({l1,_,X,Y,1})  -> [{X+1,Y-1},{X+1,Y},{X+1,Y+1},{X,Y+1}];
    covered({l1,_,X,Y,2})  -> [{X-1,Y-1},{X,Y-1},{X+1,Y-1},{X+1,Y}];
    covered({l1,_,X,Y,3})  -> [{X-1,Y-1},{X-1,Y},{X-1,Y+1},{X,Y-1}];
    covered({l1,_,X,Y,4})  -> [{X-1,Y+1},{X,Y+1},{X+1,Y+1},{X-1,Y}];
    covered({l2,_,X,Y,1})  -> [{X+1,Y-1},{X+1,Y},{X+1,Y+1},{X,Y-1}];
    covered({l2,_,X,Y,2})  -> [{X-1,Y-1},{X,Y-1},{X+1,Y-1},{X-1,Y}];
    covered({l2,_,X,Y,3})  -> [{X-1,Y-1},{X-1,Y},{X-1,Y+1},{X,Y+1}];
    covered({l2,_,X,Y,4})  -> [{X-1,Y+1},{X,Y+1},{X+1,Y+1},{X+1,Y}];
    covered({bar,_,X,Y,1}) -> [{X,Y},{X-1,Y},{X+1,Y},{X+2,Y}];
    covered({bar,_,X,Y,2}) -> [{X+1,Y},{X+1,Y+1},{X+1,Y-1},{X+1,Y-2}];
    covered({bar,_,X,Y,3}) -> [{X+2,Y-1},{X-1,Y-1},{X,Y-1},{X+1,Y-1}];
    covered({bar,_,X,Y,4}) -> [{X,Y-2},{X,Y-1},{X,Y},{X,Y+1}];
    covered({r1,_,X,Y,1})  -> [{X,Y},{X+1,Y},{X,Y+1},{X-1,Y+1}];
    covered({r1,_,X,Y,2})  -> [{X,Y},{X,Y-1},{X+1,Y},{X+1,Y+1}];
    covered({r1,_,X,Y,3})  -> [{X,Y},{X+1,Y-1},{X,Y-1},{X-1,Y}];
    covered({r1,_,X,Y,4})  -> [{X,Y},{X-1,Y-1},{X-1,Y},{X,Y+1}];
    covered({r2,_,X,Y,1})  -> [{X,Y},{X+1,Y},{X-1,Y-1},{X,Y-1}];
    covered({r2,_,X,Y,2})  -> [{X,Y},{X,Y-1},{X-1,Y+1},{X-1,Y}];
    covered({r2,_,X,Y,3})  -> [{X,Y},{X-1,Y},{X+1,Y+1},{X,Y+1}];
    covered({r2,_,X,Y,4})  -> [{X,Y},{X,Y+1},{X+1,Y},{X+1,Y-1}];
    covered({box,_,X,Y,_})  -> [{X,Y},{X,Y+1},{X+1,Y},{X+1,Y+1}].

    крутой erlang без говнокода не обходиться
    http://www.erlang.org/examples/small_examples/tetris.erl

    zlob.jc, 25 Ноября 2009

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

    +101.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var r = from t in ds.ProductTags
    		where t.ProductTagID == tag
    			|| t.Parent.ProductTagID == tag
    			|| t.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    		select t;

    Это мой код. Надоело писать рекурсивные СTE чтобы выбрать всех детишек. Спросил у кастомера можно ли ограничить вложенность. Он согласился ;).. На свою голову ;).

    Mike Chaliy, 11 Ноября 2009

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

    +947.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach (string id in sourceIDs.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    sourceId = Convert.ToInt32(id);
                    break;
                }

    Как взять первую цифру в строке - конечно без цикла тут никак

    eval_2009, 03 Ноября 2009

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

    +157.3

    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
    <?php
    if (isset($_GET['cat'])) {$cat = $_GET['cat']; }
    if (!isset($cat)) {$cat = 1;}
    /* Проверяем, является ли переменная числом */
    if (!preg_match("|^[\d]+$|", $cat)) {
    exit ("<p>Неверный формат запроса! Проверьте URL!");
    }
    $result = mysql_query("SELECT * FROM wc_news_cat WHERE id='$cat'");
    if (!$result)
    {
    echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору<br> <strong>Код ошибки:</strong></p>";
    exit(mysql_error());
    }
    if (mysql_num_rows($result) > 0)
    {
    $myrow = mysql_fetch_array($result); 
    }
    else
    {
    echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
    exit();
    }
    
    /* Выводим новости */
    
    $result = mysql_query("SELECT id,cat,title,news,view,data,author FROM wc_news WHERE cat='$cat'");
    if (!$result)
    {
    echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору<br> <strong>Код ошибки:</strong></p>";
    exit(mysql_error());
    }
    if (mysql_num_rows($result) > 0)
    {
    $myrow = mysql_fetch_array($result); 
    }
    
    do 
    {
    
    
    printf ("<table align='center' class='news'>
             
    		 <tr>
             <td class='news_title'>
    		 <p class='news_name'><a href='news.php?id=%s'>%s</a></p>
    		 <p class='news_adds'>Дата добавления: %s</p>
    		 <p class='news_adds'>Автор урока: %s</p></td>
             </tr>
             
    		 <tr>
             <td>%s <p class='news_view'>Просмотров: %s </p></td>
             </tr>
             
    		 </table><br><br>",$myrow["id"],$myrow["title"],$myrow["author"],$myrow["news"], $myrow["view"]);
    }
    while ($myrow = mysql_fetch_array($result));
    
    else
    {
    echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
    exit();
    }
    
    
    ?>

    Ildar, 22 Октября 2009

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

    +63.6

    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
    class WordCount{
    
    private:
    	string _t;
    	vector <int> _w;
    
    	int wc(){
    		string tw;
    		int s = 0;
    		for(int i = 0; i < _t.size(); ++i){
    			if(_t[i] == ' '){
    				tw.clear();
    				for(int j = s;j < i;++j){
    					tw += _t[j];
    				}
    				
    				size_t z = 0;
    				for(int k = 0; k < i - s; ++k){
    					int jj = 1;
    					for(int d = 0; d < k;  ++d)
    						jj *= 10;
    
    					z += jj * static_cast<int>(_t[k]);
    
    				}
    
    				bool sa = true;
    				for(int az = 0; az < _w.size(); ++az)
    					if(_w[az] == z) sa = false;
    				if(sa)_w.push_back (z);
    
    				s = i+1;
    			}
    		}
    		if(s < _t.size() ){
    			size_t z = 0;
    			for(int k = s;k < _t.size();++k){
    					
    					int jj = 1;
    					for(int d = 0; d < k;  ++d)
    						jj *= 10;
    
    					z += jj * static_cast<int>(_t[k]);
    			}
    
    			bool sa = true;
    				for(int az = 0; az < _w.size(); ++az)
    					if(_w[az] == z) sa = false;
    				if(sa)_w.push_back (z);
    		}
    		return _w.size();
    	}
    
    public:
    
    	int WordCount(string text){
    
    		_t = text;
    
    		return wc();
    
    	}
    };

    Клас, который должен был подсчитывать кол-во уникальных слов в строке.
    Наслаждайтесь, господа!

    hacker-l0maker, 21 Октября 2009

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