1. C++ / Говнокод #6206

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    const char * strtime(const time_t * t){
    	tm tt;
    	const int dt_len = 60;
    	char str_dt[dt_len];
    	localtime_r(t, &tt);
    	strftime(str_dt, dt_len, "%d.%m.%Y %H:%M:%S", &tt);
    	std::string str(str_dt);
    	return str.c_str();
    }

    Код, как ни странно, работал несколько лет, пока проект не трогали и байты не сместились. Неудивительно, что код вместо времени стал возвращать имя функции, из которого вызывался.

    Deacon, 04 Апреля 2011

    Комментарии (22)
  2. PHP / Говнокод #6205

    +161

    1. 1
    <?if ((eregi('?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]"(?:(?:\(?:[^\"\r\\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*',$_POST['admin_mail']))){echo'Ошибка в адресе почты';} ?>

    Проверка на правильность E-mail))) (Ссылка с форума php.ru)

    Пришлось укоротить регулярное выражение, что-бы вставить сюда, кто хочет взглянуть на оригинал, ссылка снизу.

    http://www.php.ru/forum/viewtopic.php?p=194512

    X-proger, 04 Апреля 2011

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

    −137

    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
    #!/bin/bash
    
    num=30
    while : 
    do
    lns=`aureport -f -i --summary | wc -l`
    aureport -f -i --summary | wc -l
    if [ $num -gt $lns ]
    then
      num=0
    fi
    aureport -f -i --summary | head -n$num | tail -n30 | ./mkbar files
    let "num=num+30"
    echo $num
      sleep 1s
    done

    Выводит аудит файлов в виде диаграммы по 30 файлов за раз.

    AliceGoth, 03 Апреля 2011

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

    +159

    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
    //Aios (17:12:13 3/04/2011)
    //Не то что ты накалякал никуда не годицца! Переделывай
    
    //bukvi (17:13:00 3/04/2011)
    //может тогда так?
    
    function timing($time)
    {
    $_TIME = $time;
    //тут код по умнее потому и опущу его
    }
    $time = time();
    timing($time);
    
    //Aios (17:14:22 3/04/2011)
    //*ROFL* - пиздец....

    Передача показателя суперглобальной функции как параметра!

    Aios, 03 Апреля 2011

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

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function DateOff(d) {
    	var dat = $.datepick.formatDate('dd.mm.yy', d);
    	var dates = new Array('09.11.2009', '11.11.2009', '12.11.2009', '13.11.2009');
    	for (var i=0, c=dates.length; i<c; i++) {
    		if (dat == dates[i]) {
    			return [false, ''];
    			}
    	}
    	return [true, ''];
    }

    Все с того же 1 канала.

    Vasiliy, 03 Апреля 2011

    Комментарии (7)
  6. ActionScript / Говнокод #6201

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private function  appSendMessage(obj:Object):void
    {
            var params:Array   =  [obj.actionType, obj.funct];
    
            while((obj.args as Array).length>0)
                    params.push((obj.args as Array).shift());
            messagingClient.send("", params);
    }

    Хоть и классика, но тут еще не встречалась, кажется.

    wvxvw, 03 Апреля 2011

    Комментарии (0)
  7. Pascal / Говнокод #6200

    +100

    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
    Procedure TForm1.Button1Click(Sender: TObject);
    Const
      NormText : string = 'АБВГДЕЁЖЗЫИЙКЛМНОПРСТУФХЦЧШЩЬЪЭЮЯ ';
      ObeznogText : string = 'А6ВrДЕЁЖ3ЫNµКЛМН0ПРС†YФXЦ4ШЩЬЪЗЮR ';
    Var
      sText, sBeznogText : String;
      i : Integer;
    BEGIN
     sText := Memo1.Text;
     sText := AnsiUpperCase(sText);
     sBeznogText := '';
     For i := 1 to Length(sText) do
      Begin
       sBeznogText := sBeznogText + (Copy(ObeznogText, Pos(sText[i], NormText), 1));
       If sText[i] = ' ' then
        bEgin
         Randomize;
         Case Random(5) of
          1: begin
              sBeznogText := sBeznogText + 'ДОСМОТ? ';
             End;
          3: begin
              sBeznogText := sBeznogText + 'РYКN ';
             end;
          5: begin
              sBeznogText := sBeznogText + 'БЕЗНОГ? ';
             end;
         End;
        eNd;
      End;
     Memo1.Text := sBeznogText;
    END;

    Автоматическое обезноживание текста. Сплойлер: БЕ3НОГNМ

    Govnocoder#0xFF, 03 Апреля 2011

    Комментарии (38)
  8. JavaScript / Говнокод #6199

    +169

    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
    // И отдельно проработаем кириллицу
        var rusAdditional = {
            '_' : '%5F', 'А' : '%C0', 'Б' : '%C1', 'В' : '%C2', 'Г' : '%C3', 'Д' : '%C4', 'Е' : '%C5',
            'Ж' : '%C6', 'З' : '%C7', 'И' : '%C8', 'Й' : '%C9', 'К' : '%CA', 'Л' : '%CB', 'М' : '%CC',
            'Н' : '%CD', 'О' : '%CE', 'П' : '%CF', 'Р' : '%D0', 'С' : '%D1', 'Т' : '%D2', 'У' : '%D3',
            'Ф' : '%D4', 'Х' : '%D5', 'Ц' : '%D6', 'Ч' : '%D7', 'Ш' : '%D8', 'Щ' : '%D9', 'Ъ' : '%DA',
            'Ы' : '%DB', 'Ь' : '%DC', 'Э' : '%DD', 'Ю' : '%DE', 'Я' : '%DF', 'а' : '%E0', 'б' : '%E1',
            'в' : '%E2', 'г' : '%E3', 'д' : '%E4', 'е' : '%E5', 'ж' : '%E6', 'з' : '%E7', 'и' : '%E8',
            'й' : '%E9', 'к' : '%EA', 'л' : '%EB', 'м' : '%EC', 'н' : '%ED', 'о' : '%EE', 'п' : '%EF',
            'р' : '%F0', 'с' : '%F1', 'т' : '%F2', 'у' : '%F3', 'ф' : '%F4', 'х' : '%F5', 'ц' : '%F6',
            'ч' : '%F7', 'ш' : '%F8', 'щ' : '%F9', 'ъ' : '%FA', 'ы' : '%FB', 'ь' : '%FC', 'э' : '%FD',
            'ю' : '%FE', 'я' : '%FF', 'ё' : '%B8', 'Ё' : '%A8'
        }
        for (i in rusAdditional) utf8Array[i] = rusAdditional[i];
        // Посимвольно заменяем символы на их шестнадцатиречные эквиваленты
        var res = "";
        for(i = 0; i < str.length; i++) {
            var simbol = str.substr(i,1);
            res += typeof utf8Array[simbol] != "undefined" ? utf8Array[simbol] : simbol;
        }

    http://www.1tv.ru/videoarchiver/
    Все тот же главный канал Рассеи.

    7ion, 03 Апреля 2011

    Комментарии (10)
  9. Куча / Говнокод #6198

    +135

    1. 1
    ^(?:[^<>]*<[^<>]+>)+?[ \n\t]*Вопрос №\d+\:[ \n\t]*((?:<[^<>]+>[^<>]*)+?)(?:<table>|<table [^<>]*>)[ \n\t]*(?:<tr>|<tr [^<>]*>)[ \n\t]*(?:<td>|<td [^<>]*>)[^<>]*(?:(?:(?:(?:<div>|<div[ \n\t]*[^<>]*>)|</div>|<div[ \n\t]*?/[ \n\t]*?>)|(?:(?:<p>|<p[ \n\t]*[^<>]*>)|</p>|<p[ \n\t]*?/[ \n\t]*?>)|(?:(?:<font>|<font[ \n\t]*[^<>]*>)|</font>|<font[ \n\t]*?/[ \n\t]*?>)|(?:(?:<html>|<html[ \n\t]*[^<>]*>)|</html>|<html[ \n\t]*?/[ \n\t]*?>)|(?:(?:<body>|<body[ \n\t]*[^<>]*>)|</body>|<body[ \n\t]*?/[ \n\t]*?>)|(?:(?:<head>|<head[ \n\t]*[^<>]*>)|</head>|<head[ \n\t]*?/[ \n\t]*?>)|(?:(?:<span>|<span[ \n\t]*[^<>]*>)|</span>|<span[ \n\t]*?/[ \n\t]*?>)|(?:(?:<style>|<style[ \n\t]*[^<>]*>)|</style>|<style[ \n\t]*?/[ \n\t]*?>)|(?:(?:<title>|<title[ \n\t]*[^<>]*>)|</title>|<title[ \n\t]*?/[ \n\t]*?>)|(?:(?:<br>|<br[ \n\t]*[^<>]*>)|</br>|<br[ \n\t]*?/[ \n\t]*?>)|(?:(?:<img>|<img[ \n\t]*[^<>]*>)|</img>|<img[ \n\t]*?/[ \n\t]*?>)|(?:(?:<meta>|<meta[ \n\t]*[^<>]*>)|</meta>|<meta[ \n\t]*?/[ \n\t]*?>))[^<>]*)*Вариан

    Продолжение (8 килобайт, сюда не влазит): http://pastie.org/1750060
    Регулярка безусловно генерится, но всё равно ГК.

    burdakovd, 03 Апреля 2011

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

    +118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public string Name
            {
                get { return name; }
                set
                {
                    name = "";
                    foreach (var el in value.Take(MaxStringLength))
                        name += el;
                }
            }

    тут всего хватает но сама валидация самая забавная=)

    powerslave, 03 Апреля 2011

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