1. Perl / Говнокод #4506

    −126

    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
    sub Tgetent {
        local($TERM) = @_;
        local($TERMCAP,$_,$entry,$loop,$field);
    
        # warn "Tgetent: no ospeed set" unless $ospeed;
        foreach $key (keys %TC) {
    	delete $TC{$key};
        }
        $TERM = $ENV{'TERM'} unless $TERM;
        $TERM =~ s/(\W)/\\$1/g;
        $TERMCAP = $ENV{'TERMCAP'};
        $TERMCAP = '/etc/termcap' unless $TERMCAP;
        if ($TERMCAP !~ m:^/:) {
    	if ($TERMCAP !~ /(^|\|)$TERM[:\|]/) {
    	    $TERMCAP = '/etc/termcap';
    	}
        }
        if ($TERMCAP =~ m:^/:) {
    	$entry = '';
    	do {
    	    $loop = "
    	    open(TERMCAP,'<$TERMCAP') || die \"Can't open $TERMCAP\";
    	    while (<TERMCAP>) {
    		next if /^#/;
    		next if /^\t/;
    		if (/(^|\\|)${TERM}[:\\|]/) {
    		    chop;
    		    while (chop eq '\\\\') {
    			\$_ .= <TERMCAP>;
    			chop;
    		    }
    		    \$_ .= ':';
    		    last;
    		}
    	    }
    	    close TERMCAP;
    	    \$entry .= \$_;
    	    ";
    	    eval $loop;
    	} while s/:tc=([^:]+):/:/ && ($TERM = $1);
    	$TERMCAP = $entry;
        }
    
        foreach $field (split(/:[\s:\\]*/,$TERMCAP)) {
    	if ($field =~ /^\w\w$/) {
    	    $TC{$field} = 1;
    	}
    	elsif ($field =~ /^(\w\w)#(.*)/) {
    	    $TC{$1} = $2 if $TC{$1} eq '';
    	}
    	elsif ($field =~ /^(\w\w)=(.*)/) {
    	    $entry = $1;
    	    $_ = $2;
    	    s/\\E/\033/g;
    	    s/\\(200)/pack('c',0)/eg;			# NUL character
    	    s/\\(0\d\d)/pack('c',oct($1))/eg;	# octal
    	    s/\\(0x[0-9A-Fa-f][0-9A-Fa-f])/pack('c',hex($1))/eg;	# hex
    	    s/\\(\d\d\d)/pack('c',$1 & 0177)/eg;
    	    s/\\n/\n/g;
    	    s/\\r/\r/g;
    	    s/\\t/\t/g;
    	    s/\\b/\b/g;
    	    s/\\f/\f/g;
    	    s/\\\^/\377/g;
    	    s/\^\?/\177/g;
    	    s/\^(.)/pack('c',ord($1) & 31)/eg;
    	    s/\\(.)/$1/g;
    	    s/\377/^/g;
    	    $TC{$entry} = $_ if $TC{$entry} eq '';
    	}
        }
        $TC{'pc'} = "\0" if $TC{'pc'} eq '';
        $TC{'bc'} = "\b" if $TC{'bc'} eq '';
    }

    Гениальный код.

    Arigato, 01 Ноября 2010

    Комментарии (58)
  2. Куча / Говнокод #4505

    +144

    1. 1
    ((100 - ((coef - 1) * 10)) / 0.5)

    Охренительные познания математики 5 класса комплектуются абсолютным отсутствием здравого смысла.

    KirAmp, 01 Ноября 2010

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

    −125

    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
    while (<>)
      {
        chomp;
        s/\r$//;
        next unless $_;
        my ($tag, $value) = split / /, $_, 2;
        die "Font is not fixed width\n"
          if $tag eq 'SPACING' and not $value =~ /[CM]/i;
    
        $currentchar = $value if $tag eq 'ENCODING';
        $minchar = $currentchar if not defined $minchar
          or ($currentchar < $minchar && $currentchar >= 0);
        $maxchar = $currentchar if not defined $maxchar
          or ($currentchar > $maxchar && $currentchar >= 0);

    И дальше в том же духе...
    Взято из файла bdf2gdfont.pl

    Arigato, 01 Ноября 2010

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

    −124

    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
    # Relocate
    if (open(my $reloc, "support/reloc.txt")) {
        # ...
        print "Relocating...";
        my $count = 0;
        local $_;
        while (<$reloc>) {
    	chomp;
    	my($type, $f) = split(' ', $_, 2);
    	$f = "$prefix/$f";
    	$f =~ s,/,\\,g;
    	#print "Relocating $f...\n";
    	my $read_only;
    	unless (-w $f) {
    	    $read_only++;
    	    run("\@attrib", "-r", $f);
    	}
    
    	open(my $fh, "+<", $f) || die "Can't open $f: $!";
    	binmode($fh);
    	my $content = do { local $/; <$fh> };
    
    	if ($type eq "B") {
    	    $content =~ s,\Q$sponge\E([^\0]*),$prefix$1$binary_pad,go;
    	}
    	else {
    	    $content =~ s,\Q$sponge\E,$prefix,go;
    	    $content =~ s,\Q$sponge_str\E,$prefix_str,go if $^O eq "MSWin32";
    	    truncate($fh, length($content)) || die "Can't truncate '$f': $!";
    	}
    
    	seek($fh, 0, 0) || die "Can't reset file pos on '$f': $!";
    	print $fh $content;
    	close($fh) || die "Can't write back content to '$f': $!";
    
    	run("\@attrib", "+r", $f) if $read_only;
    
    	$count++;
        }
        print "done ($count files relocated)\n";
    }

    установщик перл...
    reloc.txt содержит 137 файлов.

    seonull, 01 Ноября 2010

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

    −34

    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
    #define _ F-->00 || F-OO--;
    long F=00,OO=00;
    main(){F_OO();printf("%1.3f\n", 4.*-F/OO/OO);}F_OO()
    {
                _-_-_-_
           _-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_-_-_-_-_
           _-_-_-_-_-_-_-_-_
                _-_-_-_
    }

    так расчитывается число пи. я не мог этого не запостить.

    3.14159265, 01 Ноября 2010

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

    +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
    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
    $z="select team,r1,ochko from gametable order by pos ";$q=mysql_query($z); //присваиваю переменной данные из таблтцы
    $i=0;
    while($inf=mysql_fetch_array($q,MYSQL_ASSOC)){
    $i++;
    if($inf['team']=="ManchesterUnited"){$inf['team']="<b>ManchesterUnited</b>";
    }
    
    $row=array("class=\"row-2\"","class=\"row-3\"","class=\"row-4\"","class=\"row-5\"","class=\"row-6\"","class=\"row-1\"");//массив из стилей
    if ($i==1) {echo "$row[0]";};
    elseif($i==2) {echo "$row[1]";}
    elseif($i==3) {echo "$row[2]";}
    elseif($i==4) {echo "$row[3]";}
    elseif($i==5) {echo "$row[3]";}
    elseif($i==6) {echo "$row[4]";}
    elseif($i==7,12){echo "$row[5]";}
    else {$row="class=\"row-2\"";}
    
    echo"
     <tr $row>// вставка стиля
    <td class=\"column-1\">$i </td>
       <td class=\"column-2\">$inf[team]</td>
       <td class=\"column-3\">$inf[r1]</td>
       <td class=\"column-3\">$inf[ochko]</td>
                <td class=\"column-3\"></td>        
           <td class=\"column-3\"></td>
           <td class=\"column-4\"></td>
           <td class=\"column-3\"></td>
    </tr>";
    }

    Свежачок!
    Я насчитал 9 какашек, а вы?

    Uchkuma, 01 Ноября 2010

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

    +105

    1. 1
    2. 2
    3. 3
    int run_zero[] = {0xfffffffe,0xfffffffd,0xfffffffb,0xfffffff7,0xffffffef,0xffffffdf,0xffffffbf,0xffffff7f,0xfffffeff,0xfffffdff,0xfffffbff,0xfffff7ff,0xfffefff,0xffffdfff,0xffffbfff,0xffff7fff,0xfffeffff,0xfffdffff,0xfffbffff,0xfff7ffff,0xffeffff,0xffdfffff,0xffbfffff,0xff7fffff,0xfeffffff,0xfdffffff,0xfbffffff,0xf7ffffff,0xefffffff,0xdfffffff,0xbfffffff,0x7fffffff};
    int run_one[] = {0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x100,0x200,0x400,0x800,0x1000,0x2000,0x4000,0x8000,0x10000,0x20000,0x40000,0x80000,0x100000,0x200000,0x400000,0x800000,0x1000000,0x2000000,0x4000000,0x8000000,0x10000000,0x20000000,0x40000000,0x80000000};
    int chess_code[] = {0xa5,0x5a};

    Первые строки теста регистров некоего контроллера. Хорошо, что регистры не 64-разрядные, а то задолбался бы паренёк. А уж про chess_code вообще молчу. Вот так суровые российские программеры, не боящиеся лишней работы, тестируют авиационное бортовое оборудование.

    whiskey, 01 Ноября 2010

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

    +145

    1. 1
    2. 2
    class Partner extends SqlQuery {
    ...

    Партнер - это тот, кто привел юзера. Т.е. по факту, другой юзер.

    ReallyBugMeNot, 01 Ноября 2010

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

    +166

    1. 1
    echo $tpl->ParseTemplate2('client_pardon', $client_pardon,  $CFG['root']['template_basket']);

    Самописный интернет-магазин, кусок кода "если обломилось создание заказа".

    ReallyBugMeNot, 01 Ноября 2010

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

    +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
    // Функция отметки входящих сообщений как прочитанных
    	function CheckReadPM() {	
    		global $user, $site, $db;
    		$pm_ids = SafeDB($_POST['mod'], 11, int);
    		$where = '(`id` = '.$pm_ids[0];
    		$i = 1;
    		while($i < count($pm_ids)) {
    			$where .= ' or `id` = '.$pm_ids[$i];	
    			$i++;	
    		}
    		$where .= ") and `to` = ".$user->Get('u_id')." and `black` = 0";
    		$db->Update('private', "`read` = 1", $where);	
    	}

    Мартин, 31 Октября 2010

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