1. Список говнокодов пользователя Ccik

    Всего: 13

  2. Си / Говнокод #19421

    −46

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /* finish up initialization of magic signature strings */
        local_hdr_sig[0]  /* = extd_local_sig[0] */ =       /* ASCII 'P', */
          central_hdr_sig[0] = end_central_sig[0] =         /* not EBCDIC */
          end_centloc64_sig[0] = end_central64_sig[0] = 0x50;
    
        local_hdr_sig[1]  /* = extd_local_sig[1] */ =       /* ASCII 'K', */
          central_hdr_sig[1] = end_central_sig[1] =         /* not EBCDIC */
          end_centloc64_sig[1] = end_central64_sig[1] = 0x4B;

    Ccik, 09 Февраля 2016

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

    −1

    1. 1
    #define GUIDSTR(s) __uuidof(class DECLSPEC_UUID(s) __guid_##__COUNTER__)

    Может можно покороче?

    Ccik, 22 Декабря 2015

    Комментарии (1)
  4. C++ / Говнокод #18498

    +143

    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
    char * hmod = (char *)GetModuleHandleW(L"msenv.dll");
    IMAGE_DOS_HEADER *pDosHeader = (IMAGE_DOS_HEADER *)hmod;
    IMAGE_NT_HEADERS *pNtHeaders = (IMAGE_NT_HEADERS *)(hmod + pDosHeader->e_lfanew);
    char *pcode = (hmod + pNtHeaders->OptionalHeader.BaseOfCode);
    char *ecode = (pcode + pNtHeaders->OptionalHeader.SizeOfCode);
    
    while (pcode < ecode - sizeof(int))
    {
        if((*(int *)pcode) == 0xFFFFDCB8 ||
           (*(int *)pcode) == 0xFFFFDC89 )
        {
            wchar_t buf[1024];
            wsprintfW(buf, L"%p\n", pcode);
            OutputDebugStringW(buf);
        }
        pcode++;
    }

    А как в студийном отладчике искать по памяти?

    Ccik, 20 Июля 2015

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #ifndef STDC
    #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
    #    define const       /* note: need a more gentle solution here */
    #  endif
    #endif

    Совместимость

    Ccik, 22 Декабря 2014

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private unsafe bool IsOptionalOutParamSet(out Guid param)
    {
        fixed (Guid* guidPtr = &param)
            return (IntPtr) guidPtr != IntPtr.Zero;
    }

    Ccik, 15 Октября 2013

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

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class Comparer : IComparer<int>
    {
        Random random = new Random();
    
        public int Compare(int x, int y)
        {
            return 1 - random.Next() % 3;
        }
    }

    Ccik, 18 Июля 2013

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    fixed (char* p = "A")
    {
        p[0] = 'B';
    }
    
    Console.WriteLine("A");

    Immutable strings

    Ccik, 24 Февраля 2013

    Комментарии (19)
  9. C++ / Говнокод #12542

    +16

    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
    BOOL EnsureThreadIsSuspended (HANDLE hThread, Thread* pThread)
    {
        STATIC_CONTRACT_NOTHROW;
        STATIC_CONTRACT_GC_NOTRIGGER;
    
        WRAPPER_CONTRACT;
    
        CONTEXT ctx;
        ctx.ContextFlags = CONTEXT_INTEGER;
        BOOL ret;
        ret = ::GetThreadContext(hThread, &ctx);
    
        return ret;
    }

    А ведь и правда, никто не гарантирует, что поток будет остановлен к тому моменту, когда SuspendThread() вернет управление...

    Ccik, 06 Февраля 2013

    Комментарии (23)
  10. JavaScript / Говнокод #12404

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function onKeyDown() {
            var key_f5 = 116; // 116 = F5 
    
            if (key_f5 == event.keyCode) {
              event.keyCode = 27;
    
              return false;
            }
          }

    Запрещаем обновление страницы по F5.

    Ccik, 10 Января 2013

    Комментарии (17)
  11. C# / Говнокод #8470

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    IGridCell IGridControl.this[int columnIndex, int rowIndex]
            {
                get { return Cells.Single(c => c.OwningRow.Index == rowIndex && c.OwningColumn.Index == columnIndex); }
                set
                {
                    cells.Remove(cells.Single(c => c.OwningRow.Index == rowIndex && c.OwningColumn.Index == columnIndex));
                    cells.Add(value);
                }
            }

    вот такие вот индексаторы

    Ccik, 10 Ноября 2011

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