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

    −17

    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
    #include <iostream>
    
    template <unsigned long destiny>
    struct dice {
        static const unsigned long roll = destiny * 1103515245 + 12345;
    };
    
    struct happiness {};
    
    template <typename XX, typename XY>
    struct love {
        typedef XX HACTEHbKA;
        typedef XY bormand;
    };
    
    template <int magic>
    struct bormand {
        static const unsigned long destiny = magic;
    };
    
    typedef
        love<bormand<196>, love<bormand<136>, love<bormand<230>,
        love<bormand< 80>, love<bormand< 83>, love<bormand<237>,
        love<bormand<100>, love<bormand< 51>, love<bormand< 19>,
        love<bormand<166>, love<bormand< 12>, love<bormand<153>,
        love<bormand<229>, love<bormand<141>, love<bormand<125>,
        happiness          >>>>>>>>>>>>>>>    HACTEHbKA;
    
    template<typename LOVE, unsigned long destiny>
    struct mystery {
        typedef
            love<bormand<LOVE::HACTEHbKA::destiny ^ dice<destiny>::roll>,
            typename mystery<typename LOVE::bormand,
            dice<destiny>::roll>::unveiled> unveiled;
    };
    
    template<unsigned long destiny>
    struct mystery<happiness, destiny> {
        typedef happiness unveiled;
    };
    
    template<typename love>
    std::string dreams_come_true(const love&) {
        return std::string(1, love::HACTEHbKA::destiny) +
               dreams_come_true(typename love::bormand());
    }
    
    std::string dreams_come_true(const happiness&) {
        return std::string();
    }
    
    int main() {
        std::cout << dreams_come_true(mystery<HACTEHbKA, 1>::unveiled());
    }

    Я перепесала http://govnokod.ru/21198 через вычесления на чистом уровне и кампеляции как моя чистая любовь

    guestinh0, 11 Мая 2017

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

    −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
    void __attribute__ ((naked)) c8_handler_i() {
        asm volatile (
            "push %%ebp             \n\
            mov %%esp, %%ebp        \n\
            sub $20, %%esp          \n\
            mov %%eax, -4(%%ebp)    \n\
            mov %%ebx, -8(%%ebp)    \n\
            mov %%edx, -12(%%ebp)   \n\
            mov %[tasks], %%ebx     \n\
            mov %[cur_task], %%eax  \n\
            mov %[t_sz], %%edx      \n\
            mov (%%eax), %%eax      \n\
            mul %%edx               \n\
            add %%eax, %%ebx        \n\
            mov -4(%%ebp), %%eax    \n\
            mov %%eax, (%%ebx)      \n\
            mov -8(%%ebp), %%eax    \n\
            mov %%eax, 4(%%ebx)     \n\
            mov %%ecx, 8(%%ebx)     \n\
            mov -12(%%ebp), %%eax   \n\
            mov %%eax, 12(%%ebx)    \n\
            mov %%esi, 16(%%ebx)    \n\
            mov %%edi, 20(%%ebx)    \n\
            mov %%ebp, 24(%%ebx)    \n\
            addl $4, 24(%%ebx)      \n\
            mov (%%ebp), %%eax      \n\
            mov %%eax, 28(%%ebx)    \n\
            mov -4(%%ebp), %%eax    \n\
            mov -8(%%ebp), %%ebx    \n\
            mov -12(%%ebp), %%edx   \n\
            add $20, %%esp          \n\
            pop %%ebp               \n\
            iret"
            :: [tasks] "i" (tasks), [cur_task] "i" (&cur_task),
               [t_sz] "i" (sizeof(task)), [t_eip] "i" (offsetof(task, eip)), 
               [t_ebx] "i" (offsetof(reg_values, ebx))
        );
    }

    Когда решился написать ОС на C++

    cykablyad, 11 Мая 2017

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    (is_null($roomCache)) ? 0 : $roomCache->getTotalRooms();
    
    if (is_null($roomCache)) {
        ($roomCache)) ? 0 : $roomCache->getTotalRooms(); 
    }

    Описания не будет, т.к. описать сие не могу.

    Zalex, 11 Мая 2017

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

    0

    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
    $URi = str_replace("/projects/GCore/", "", $URi);
    
      $U = preg_split('//', $URi, -1, PREG_SPLIT_NO_EMPTY);
    
      $URI = "";
      $is_get = 0;
      $get_key = "";
      $get_is_value = 0;
      $value = "";
    
      for( $i = 0; $i < count($U); $i++){
          if( $U[$i] == "?" || $is_get == 1){
              $char = $U[$i];
    
            if( $char != "?" ){
            if( $get_is_value == 0 || $char != "=" || $char != "&" ){
              $get_key = $get_key.$char;
            }else if( $char == "=" ){
              $value = $value.$char;
              $get_is_value = 1;
            }else if( $char == "&"){
    
              $_GET[$get_key] = $value;
              $get_key = "";
              $value = "";
              $get_is_value = 0;
            }
          }
    
          $is_get = 1;
          }else{
            $URI = $URI.$U[$i];
          }
      }

    Была проблема с .htaaccess, гет запросы не передавались, пришлось делать парсер гета))))

    Gameizeazy, 11 Мая 2017

    Комментарии (12)
  5. Python / Говнокод #23006

    +3

    1. 1
    2. 2
    if str(type(date))!="<class 'datetime.date'>":
        date=date.date()

    Решил перевести datetime.datetime в datetime.date

    peterder72, 10 Мая 2017

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

    −17

    1. 1
    2. 2
    #undef NULL
    #define NULL ((void *) 0xDEADBEEF)

    И все идиотские проверки типа:

    if (ptr && ptr->field == value) { do_something(); }

    идут лесом.

    codemonkey, 10 Мая 2017

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

    −1414

    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
    function Unescape(const s: AnsiString): widestring;
    var
      i: Integer;
      j: Integer;
      c: Integer;
    begin
      // Make result at least large enough. This prevents too many reallocs
      SetLength(Result, Length(s));
      i := 1;
      j := 1;
      while i <= Length(s) do begin
        if s[i] = '\' then begin
          if i < Length(s) then begin
            // escaped backslash?
            if s[i + 1] = '\' then begin
              Result[j] := '\';
              inc(i, 2);
            end
            // convert hex number to WideChar
            else if (s[i + 1] = 'u') and (i + 1 + 4 <= Length(s))
                    and TryStrToInt('$' + string(Copy(s, i + 2, 4)), c) then begin
              inc(i, 6);
              Result[j] := WideChar(c);
            end else begin
              raise Exception.CreateFmt('Invalid code at position %d', [i]);
            end;
          end else begin
            raise Exception.Create('Unexpected end of string');
          end;
        end else begin
          Result[j] := WideChar(s[i]);
          inc(i);
        end;
        inc(j);
      end;
    
      // Trim result in case we reserved too much space
      SetLength(Result, j - 1);
    end;

    Это не вирус. Просто в Delphi 7 не завезли JSon.

    doctor_stertor, 07 Мая 2017

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

    +1412

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    counter++;
                        if (counter == 10)
                        {
                            Console.WriteLine();
                            counter = 0;
                        }

    Не сразу понял, что делает этот код.

    Langnasen_Dora, 07 Мая 2017

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

    −264

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Ответ = Вопрос("Будет запущена процедура создания договоров и печати документов. Продолжить?",
              РежимДиалогаВопрос.ДаНет, 60, КодВозвратаДиалога.Да, ЗаголовокОкнаПредупреждения);
        
    Если НЕ Ответ = КодВозвратаДиалога.Да Тогда
             Возврат;
    КонецЕсли;

    wezug, 05 Мая 2017

    Комментарии (2)
  10. Си / Говнокод #22876

    −33

    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
    #include <http://govnokod.ru/21585>
    
    // assembly output for f1_signed and f2_signed on GCC 7,6,5 ... versions are same
    
    signed char f1_signed(signed char a1, signed char a2, signed char a3)
    {
      return MAXS(a1,a2,a3,a1,a2,a3);
    }
    
    signed char f2_signed(signed char a1, signed char a2, signed char a3)
    {
      return MAXS(a1,a2,a3);
    }
    
    // assembly output for f1_unsigned and f2_unsigned on GCC 7,6,5 ... versions are differend
    // GCC compiler can't do same simplification for unsigned function
    
    // This function produces much more assembler code than second
    unsigned char f1_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
    {
      return MAXS(a1,a2,a3,a1,a2,a3);
    }
    
    unsigned char f2_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
    {
      return MAXS(a1,a2,a3);
    }

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80574

    Очередной мой багрепорт в GCC. Компилятор GCC может заоптимизировать повторяющуйся в MAXS хрень для signed char, но не может для unsigned
    А вот Clang не может заоптимизировать ни то, ни другое. https://godbolt.org/g/7Kt9X0

    j123123, 30 Апреля 2017

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