1. PHP / Говнокод #7386

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    if($response == false)
     	$response = true;
    else 
            $response = false;

    вот такая говно-конструкция изменяющая false на true и наоборот

    kellydpx, 29 Июля 2011

    Комментарии (3)
  2. bash / Говнокод #7385

    −116

    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
    #!/bin/sh
    #
    # $1 is the mail account
    
    [ -n "$1" ] && {
    	
    	MAIL_PATH="/Mail/$1/mbox"
    	OUTPUT_MAIL_PATH="/mnt/flash/save/email/inbox/"
    	mkdir -p $OUTPUT_MAIL_PATH	
    	mv /var/spool/mail/root/* $MAIL_PATH
    
    	for j in `find $MAIL_PATH -name "msg.*"`
    	do
    	  MAIL_NAME=`basename $j`.eml
    	  NEW_MAIL="$OUTPUT_MAIL_PATH/$MAIL_NAME"
    	  mkdir -p "$OUTPUT_MAIL_PATH"
    	  
    	  [ ! -f "$NEW_MAIL" ] && {
    		  grep "^From:" $j | head -n 1 > $NEW_MAIL
    		  if grep "^Cc:" $j ; then
    		  	grep "^Cc:" $j | head -n 1 >> $NEW_MAIL
    		  fi
    		  grep "^To:" $j | head -n 1 >> $NEW_MAIL
    		  grep "^Subject:" $j | head -n 1 >> $NEW_MAIL
    		  grep "^Date:" $j | head -n 1 >> $NEW_MAIL
    		
    			if grep "^Content-Type: text/plain;" $j ; then
    				
    				LINE_NUM=`grep -n "^Content-Type: text/plain;" $j | cut -d: -f1`
    				
    				if grep "^Content-Type: text/plain;" $j | grep "charset=" ; then
    					TYPE=`grep  "Content-Type: text/plain;" $j | cut -d";" -f1`
    					echo "$TYPE" >> $NEW_MAIL
    					CHAR="charset="`grep  "Content-Type: text/plain;" $j | cut -d= -f2`
    					echo "$CHAR" >> $NEW_MAIL
    				else
    					grep "^Content-Type: text/plain;" $j >> $NEW_MAIL
    					x=$(($LINE_NUM+1))
    					sed -n "$x"p $j >> $NEW_MAIL
    				fi
    		
    				
    				x=$(($LINE_NUM-1))
    				BOUNDARY=`sed -n "$x"p $j`
    				
    				for i in `sed "/$BOUNDARY/s/.*/ffffuuuucccckkkk/" $j | grep -n "ffffuuuucccckkkk" | cut -d: -f1`
    				do
    					if [ "$i" -gt "$LINE_NUM" ] ; then
    						i=$(($i-1))
    						y=$(($LINE_NUM+3))
    						echo "Mail content start:" >> $NEW_MAIL
    						sed -n "$y,$i"p $j >> $NEW_MAIL			
    						break
    					fi
    				done
    				
    				if ! grep "Mail content start:" $NEW_MAIL ; then
    					echo "Mail content start:" >> $NEW_MAIL
    					y=$(($LINE_NUM+3))
    					x=`grep -c "^" $j`
    					sed -n "$y,$x"p $j >> $NEW_MAIL
    				fi
    				
    			else
    				echo "Fuck....."	
    			fi
    		}
    	done
    }

    /bin/mail.sh из прошивки букридера GreenBook

    wat3rs, 29 Июля 2011

    Комментарии (3)
  3. Pascal / Говнокод #7384

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function factorial( n: Integer ): Int64;
    begin
      if n=0 then Result := 1
      else             Result := n*factorial(n-1);
    end;
    
    factorial(-1); //<--ЗАЦИКЛИВАЕТ

    =D

    Fai, 29 Июля 2011

    Комментарии (16)
  4. Assembler / Говнокод #7383

    +242

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    proc HeapCompact(HANDLE hHeap, DWORD dwFlags)
    	mov     edi, edi
    	push    ebp
    	mov     ebp, esp
    	pop     ebp
    	jmp     RtlCompactHeap
    endp

    Код от Microsoft. Заглушка? А вот и нет! Для заглушки нужны 5 байтов, а pop ebp останется на месте, т.е. при вызове вершина стека нарушится. Вот не могли просто NOP написать...

    KIRK, 29 Июля 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    try
    {
        if (empty($this->kinds) && $this->kinds !== false)
            throw new Exception('', 1);
    }
    catch (Exception $e)
    {
        if (empty($this->kinds))
        $this->kinds = false;
    }

    Забавное использование try catch, почти goto

    sectronov, 29 Июля 2011

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

    +147

    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
    private function getExperts($where = '') {
    		if ($where) {
    			$where = "WHERE $where";
    		}
    		$query = "SELECT * FROM $this->expertsTable $where";
    		$experts = self::$DB->select($query);		
    		
    		// workarround кривой структуры бд
    		// выбрасываем повторяющихся экспертов
    		$experts_unique = array();
    		foreach($experts as $expert)
    		{
    			$key = md5($expert['expertName'].$expert['photo'].$expert['text']);
    			if(!isset($experts_unique[$key])) 
    				$experts_unique[$key] = $expert;
    		}
    		return array_values($experts_unique);
    	}

    odmin, 29 Июля 2011

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

    +146

    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
    PreparedStatement pst = conn.prepareStatement(
    					"SELECT * FROM employeeskill, employee " +
    					"WHERE employee.id_EmployeeDetail = employeeskill.id_EmployeeDetail " +
    					"AND employeeskill.name = ?");
    			pst.setString(1, employeeSkillName);
    			
    			ResultSet res = pst.executeQuery();
    			
    			while (res.next()){
    				Employee empl = new Employee(res.getLong(6), res.getString(7),
    						res.getString(8), res.getString(9), res.getString(10),
    						res.getString(11), res.getString(12), res.getLong(13));
    				list.add(empl);

    Nordvind, 29 Июля 2011

    Комментарии (6)
  8. Java / Говнокод #7379

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    List<Project> l =this.listAllProjects();
    ...
    pStmt = conn.prepareStatement("INSERT INTO Project VALUES (?,?,?,?)");
    pStmt.setString(1,""+(l.get(l.size()-1).getID()+1));
    ...

    Запись в базу

    Nordvind, 29 Июля 2011

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

    +240

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    db $8F, $AE, $A7, $A4, $E0, $A0, $A2, $AB, $EF, $EE, $20, $E3, $EE, $E2, $AD, $A5
    db $AD, $EC, $AA, $A8, $A9, $20, $A3, $AE, $A2, $AD, $AE, $AA, $AE, $A4, $A8, $AA
    db $20, $E1, $20, $A4, $AD, $F1, $AC, $20, $E1, $A8, $E1, $E2, $A5, $AC, $AD, $AE
    db $A3, $AE, $20, $A0, $A4, $AC, $A8, $AD, $A8, $E1, $E2, $E0, $A0, $E2, $AE, $E0
    db $A0, $21

    TarasB, 29 Июля 2011

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

    +147

    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
    if(isset($_POST['logout']))
      {
        $_POST['name']=trim($_POST['name']);
        $_POST['pass']=trim($_POST['pass']);
        if($_POST['name']!="" && $_POST['pass']!="")
           {
             $cons = "bcdfghjklmnpqrstvwxyz";
             $bons = "BCDFGHJKLMNPGRSTVWXYZ";
             $vocs = "aeiou";
             $noms = "123456789";
             for($x=0; $x < 33; $x++){
             mt_srand ((double) microtime() * 1000000);
             $con[$x] = substr($cons, mt_rand(0, strlen($cons)-1), 1);
             $bon[$x] = substr($bons, mt_rand(0, strlen($bons)-1), 1);
             $voc[$x] = substr($vocs, mt_rand(0, strlen($vocs)-1), 1);
             $nom[$x] = substr($noms, mt_rand(0, strlen($noms)-1), 1);
             }
             $makerand= $con[0] . $voc[3] . $con[1] . $nom[2] . $nom[5] .$bon[2] . $con[4];
             @chmod("../admin/conf/config.inc", 0777);
             $cont=file("../admin/conf/config.inc");
                  $f=fopen("../admin/conf/config.inc","w");
                     if (!$f) {
                           echo "Невозможно открыть файл кофигурации";
                           exit;
                     }
                  @$writefile = fwrite($f,$cont[0].$cont[1].$makerand);
                     if (!$writefile) {
                           echo "Невозможно записать файл кофигурации";
                           exit;
                     }
                  @chmod("../admin/conf/config.inc", 0604);
                  fclose($f);
             session_unset ();
             session_destroy ();
             $info="Вы вышли!";
           }
      }

    Столкнулся я с правками на неизвесный мне до этого Kandidat CMS (http://www.kan-studio.ru/).
    Кусок выбран на угад... там все феерически шедеврально.
    Качайте, читайте... помойгайте разработчикам (кошельки на оф. сайте), походу им очень надо на образование подкинуть.
    В остальном коде собачки стоят через строчку.

    PS: я сюда зарегался ради ентого поста.
    PPS: не так важно, но табуляции тоже сохранены.

    Developa, 29 Июля 2011

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