1. Java / Говнокод #7732

    +81

    1. 1
    2. 2
    3. 3
    4. 4
    THIS:while(true){
                if(true)break;
                ...
    }

    fcuk ну как так можно кодить?

    Mooncrafter, 01 Сентября 2011

    Комментарии (18)
  2. C++ / Говнокод #7731

    +172

    1. 1
    2. 2
    char readByffer[102]={0};
    std::string dataStrong = readByffer;

    CPPGovno, 01 Сентября 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(!defined("USER")){
    	define("USER", true);
    	define("EXTRA_ADMIN_COOKIE", '3794y7v387o3');
    }else{
    	return;
    }

    Мартин, 01 Сентября 2011

    Комментарии (4)
  4. Perl / Говнокод #7729

    −180

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    my $success=0;
    my $error=0;
    
    ...        
    
    my $result_mail=MailUtils::attach_mail(-to=>$share_email,-message=>$message,-subject=>'Новый рецепт',-src_enc => $Cfg::encoding,-attach=>\@att) or die 'no';
    unlink($file) if $result_mail;
    $error=1 if !$result_mail;
    
    $success=1 if $error==0;
    print CGI::redirect($Cfg::url{root}."/woman/recipes/share/?success=$success&error=$error");

    Используем две переменных для статуса, видимо, для надёжности

    Suor, 01 Сентября 2011

    Комментарии (26)
  5. PHP / Говнокод #7728

    +173

    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
    //Функция возвращает номер месяца по названию
    	  function month_to_num ($month) {
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("январь"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("января"),"UTF-8")) {$num = 1;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("февраль"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("февраля"),"UTF-8")) {$num = 2;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("март"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("марта"),"UTF-8")) {$num = 3;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("апрель"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("апреля"),"UTF-8")) {$num = 4;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("май"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("мая"),"UTF-8")) {$num = 5;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("июнь"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("июня"),"UTF-8")) {$num = 6;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("июль"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("июля"),"UTF-8")) {$num = 7;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("август"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("августа"),"UTF-8")) {$num = 8;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("сентябрь"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("сентября"),"UTF-8")) {$num = 9;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("октябрь"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("октября"),"UTF-8")) {$num = 10;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("ноябрь"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("ноября"),"UTF-8")) {$num = 11;}
          if (mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("декабрь"),"UTF-8") || mb_strtolower($month,"UTF-8") == mb_strtolower($this->t("декабря"),"UTF-8")) {$num = 12;}
    				  return $month;
    	  }

    vaska_proger, 01 Сентября 2011

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

    +163

    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
    //Вставка пробелов в числа более 1000
       function por($num) {
    						if (($num >= 1000 && $num < 10000) || ($num >= 1000000 && $num < 10000000)) {
             for ($i=0;$i<=strlen($num);$i++) {
    						      $ret .= mb_substr($num,$i,1);
       						   if ($i%3==0) {
    			   			      $ret .= ' ';
    						      }
    						   }
    						}
    						elseif (($num >= 10000 && $num < 100000) || ($num >= 10000000 && $num < 100000000)) {
             for ($i=0;$i<=strlen($num);$i++) {
    						      $ret .= mb_substr($num,$i,1);
       						   if ($i%3==1) {
    			   			      $ret .= ' ';
    						      }
    						   }
    						}
    						elseif (($num >= 100000 && $num < 1000000) || ($num >= 100000000 && $num < 1000000000)) {
             for ($i=0;$i<=strlen($num);$i++) {
    						      $ret .= mb_substr($num,$i,1);
       						   if ($i%3==2) {
    			   			      $ret .= ' ';
    						      }
    						   }
    						}
    						else {$ret = $num;}
          return $ret;
       }

    vaska_proger, 01 Сентября 2011

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

    +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
    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
    //Фунцкия транслита
       function ruslat ($string, $lower=false) {
          $string = ereg_replace(" ","_",$string);
          $string = ereg_replace("ж","zh",$string);
          $string = ereg_replace("ё","yo",$string);
          $string = ereg_replace("й","i",$string);
          $string = ereg_replace("ю","yu",$string);
          $string = ereg_replace("ь","",$string);
          $string = ereg_replace("ч","ch",$string);
          $string = ereg_replace("щ","sсh",$string);
          $string = ereg_replace("ц","c",$string);
          $string = ereg_replace("у","u",$string);
          $string = ereg_replace("к","k",$string);
          $string = ereg_replace("е","je",$string);
          $string = ereg_replace("н","n",$string);
          $string = ereg_replace("г","g",$string);
          $string = ereg_replace("ш","sh",$string);
          $string = ereg_replace("з","z",$string);
          $string = ereg_replace("х","h",$string);
          $string = ereg_replace("ъ","",$string);
          $string = ereg_replace("ф","f",$string);
          $string = ereg_replace("ы","y",$string);
          $string = ereg_replace("в","v",$string);
          $string = ereg_replace("а","a",$string);
          $string = ereg_replace("п","p",$string);
          $string = ereg_replace("р","r",$string);
          $string = ereg_replace("о","o",$string);
          $string = ereg_replace("л","l",$string);
          $string = ereg_replace("д","d",$string);
          $string = ereg_replace("э","e",$string);
          $string = ereg_replace("я","ja",$string);
          $string = ereg_replace("с","s",$string);
          $string = ereg_replace("м","m",$string);
          $string = ereg_replace("и","i",$string);
          $string = ereg_replace("т","t",$string);
          $string = ereg_replace("б","b",$string);
          $string = ereg_replace("Ё","yo",$string);
          $string = ereg_replace("Й","I",$string);
          $string = ereg_replace("Ю","YU",$string);
          $string = ereg_replace("Ч","CH",$string);
          $string = ereg_replace("Ь","",$string);
          $string = ereg_replace("Щ","SСH'",$string);
          $string = ereg_replace("Ц","C",$string);
          $string = ereg_replace("У","U",$string);
          $string = ereg_replace("К","K",$string);
          $string = ereg_replace("Е","JE",$string);
          $string = ereg_replace("Н","N",$string);
          $string = ereg_replace("Г","G",$string);
          $string = ereg_replace("Ш","SH",$string);
          $string = ereg_replace("З","Z",$string);
          $string = ereg_replace("Х","H",$string);
          $string = ereg_replace("Ъ","",$string);
          $string = ereg_replace("Ф","F",$string);
          $string = ereg_replace("Ы","Y",$string);
          $string = ereg_replace("В","V",$string);
          $string = ereg_replace("А","A",$string);
          $string = ereg_replace("П","P",$string);
          $string = ereg_replace("Р","R",$string);
          $string = ereg_replace("О","O",$string);
          $string = ereg_replace("Л","L",$string);
          $string = ereg_replace("Д","D",$string);
          $string = ereg_replace("Ж","Zh",$string);
          $string = ereg_replace("Э","E",$string);
          $string = ereg_replace("Я","Ja",$string);
          $string = ereg_replace("С","S",$string);
          $string = ereg_replace("М","M",$string);
          $string = ereg_replace("И","I",$string);
          $string = ereg_replace("Т","T",$string);
          $string = ereg_replace("Б","B",$string);
          $string = ereg_replace("'","",$string);
          $string = ereg_replace('"','',$string);
          $string = ereg_replace('`','',$string);
          if ($lower) {$string = mb_strtolower($string, "UTF-8");}
          return $string;
       }

    Нашел в реальном проекте по FTP

    vaska_proger, 01 Сентября 2011

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

    +161

    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
    //============= 'game' это, собственно, сама игра ==================
    void SUPERMARIO::Game()
    {
      InitForStartGame(0);
      //music(NORMAL_MUSIC);
      while (GAMECYCLE)  //цикл игры
      {
      //I. построение изображения 
      MOVEOBJ::TotalAnimatedObject=0;
      prMonetsChangePhase();
      prPuziri();
      prBuildGamePicture();
      prShowDebugInfo();
      //II. логика игры
      BirdsOtSten();      //птички отталкиваются от стен
      SkeletonCollect();    //собираем скелетов
      prCleverobjRefresh();  //обновляем все у умных объектов
      prMarioDeathOnShipah();  //марио гасится на шипах
      prForMarioProtected();  //чтобы марио был защищенным
      prPrizeCatch(Rick, Prize);//призы не проходят сквозь стенки и марио ловит призы
      prBricksNudgePrize();  //кирпичи могут подталкивать призы
      prBricksRestore();    //восстанавливаем кирпичи
      prTurtleCikAlien();    //черепаха сбивает других чужих
      prMonetsTimeEndTimeLiveAndScoreCreate();//надо создать очки когда монетка пропадает
      prIfGameOver();      //если конец игры 
      prBossSalivaDeathMario();// кегли башки гасят марио и не пролетают через стены
      prBossSendSaliveAndKeepAtMario();//башка пускает "кегли" и находится вблизи от марио
      ArmsKillAlien();    // оружие убивает чужих
      prLiftUpDown();      //меняем направление лифта и обновляем его координаты
      prMarioDeathOnFlower();//марио гасится на зубастых цветках
      prFlowersUpDown();    //поднимаем и опускаем зубастые цветки
      MindobjFunctions(Rick, Cleverobj);//различные функции
      MindobjFunctions(Rick, CleverAlien);//предусмотренные для Mindobj
      prMarioFlyDownCleverobj();  //марио слетает с клевых объектов
      prMarioPositionerOnCleverobject();//позиционируем Mario  на клевый объект
      prMarioRenewXY();//обновляем координаты Mario
      //если ноги марио близко к лифту, марио падает
      prMarioClammyToLift();  //на лифт и его ускорение приравнять к нулю
      prMarioDownsBrickDestroy();//обрушиваем кирпичи под ногами у марио
      prArmsCollisionWithWall();//оружие сталкивается со стенами *
      prRememberOldMarioCoordinates();//запоминаем старые координаты Mario
      prKeyboardProcess();    //обработка НАЖАТИЙ клавиш 
      GameModesTreat();    //обрабатываем ситуацию загрузки и рестарта уровня режимы игры
      if (DoorOpenCounter) DoorOpenCounter--;  //чтобы дверь успела открыться
      prScrollBricks();    //двигается фон (спрайты воды и огня)
      prChangeEffect();    //эффект перехода на другой экран
      prShowFPS();      //показать FPS
      prSynhronization();    //синхронизируемся (ждем когда таймер станет равным 1)
      
      ShowLevelNumberTimeCounter++;
    
      if (ShowLevelNumberTimeCounter<100)
      {
        
        Msg("  УРОВЕНЬ    ", 9, MSG_NOUPDATE);
        
    
        /*if (LevelNumber<40)
        {
          scr.putNumb(LevelNumber/4+1,1);
          scr<< '-';
          scr.putNumb(LevelNumber%4+1,1);
        }
        else
        {
          scr.putNumb(LevelNumber);
        }*/
        scr.putNumb(LevelNumber);
    
      }
      
      static int ShowLog=0;
      //выводим изображение на экран из DoubleBuffer
      if (Keyb[KEY_L] && Keyb[KEY_LEFTCTRL]) 
      {
        Keyb^KEY_L;
        ShowLog^=1;
      }
      
      if (ShowLog) 
      {
        //сжимаем картинку
        for(int i=0; i<100; i++)
        {
          memcpy(scr.DoubleBuffer+i*320, scr.DoubleBuffer+i*2*320,320);
        }
        
        scr.rectangle(0,100,320,100,0);
        Log.Show();
      }
      scr.update();      
      } //конец цикла while
    }//конец функции game

    Ностальгия...

    CPPGovno, 31 Августа 2011

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

    +163

    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
    function getGroupName($numg) {
        global $gname;
        if (is_file('../sys/groups.php')) {
            include ('../sys/groups.php');
        }
        else {
            include ('sys/groups.php');
        }
        if ($numg==0) {
            $gname = $gr['0'];
            return $gname;
        } else if ($numg==1) {
            $gname = $gr['1'];
            return $gname;
        } else if ($numg==2) {
            $gname = $gr['2'];
            return $gname;
        } else if ($numg==3) {
            $gname = $gr['3'];
            return $gname;
        }
    }

    skad0, 31 Августа 2011

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

    +122

    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
    public class ASyncFileHashAlgorithm
    	{
    		protected HashAlgorithm hashAlgorithm;
    		protected byte[] hash;
    		protected bool cancel = false;
    		protected int bufferSize = 4096;
    		public delegate void FileHashingProgressHandler (object sender, FileHashingProgressArgs e);
    		public event FileHashingProgressHandler FileHashingProgress;
    
    		public ASyncFileHashAlgorithm(HashAlgorithm hashAlgorithm)
    		{
    			this.hashAlgorithm = hashAlgorithm;
    		}
    
    		public byte[] ComputeHash(Stream stream)
    		{
    			cancel = false;
    			hash = null;
    			int _bufferSize = bufferSize; // this makes it impossible to change the buffer size while computing
    
    			byte[] readAheadBuffer, buffer;
    			int readAheadBytesRead, bytesRead;
    			long size, totalBytesRead = 0;
    
    			size = stream.Length;
             	readAheadBuffer = new byte[_bufferSize];
                readAheadBytesRead = stream.Read(readAheadBuffer, 0, readAheadBuffer.Length);
    
                totalBytesRead += readAheadBytesRead;    
    
                do
                {
                    bytesRead = readAheadBytesRead;
                    buffer = readAheadBuffer;    
    
                    readAheadBuffer = new byte[_bufferSize];
                    readAheadBytesRead = stream.Read(readAheadBuffer, 0, readAheadBuffer.Length);
    
                    totalBytesRead += readAheadBytesRead;    
    
                    if (readAheadBytesRead == 0)
                        hashAlgorithm.TransformFinalBlock(buffer, 0, bytesRead);
                    else
                        hashAlgorithm.TransformBlock(buffer, 0, bytesRead, buffer, 0);
    
    				FileHashingProgress(this, new FileHashingProgressArgs(totalBytesRead, size));
                } while (readAheadBytesRead != 0 && !cancel);
    
    			if(cancel)
    				return hash = null;
    
        		return hash = hashAlgorithm.Hash;
    		}
    
    		public int BufferSize
    		{
    			get
    			{ return bufferSize; }
    			set
    			{ bufferSize = value; }
    		}
    
    		public byte[] Hash
    		{
    			get
    			{ return hash; }
    		}
    
    		public void Cancel()
    		{
    			cancel = true;
    		}
    
    		public override string ToString ()
    		{
    			string hex = "";
    			foreach(byte b in Hash)
    				hex += b.ToString("x2");
    
    			return hex;
    		}
    	}

    Очень интересная реализация "асинхронного" хэширования.

    martin, 31 Августа 2011

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