1. Си / Говнокод #3096

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    char pack_LOF_OBJ(LOF_OBJ *pobj, char* pdata)
    {
            *pdata  =(unsigned char) (pobj->value << 16);
            *(pdata + 1)  = (unsigned char)(pobj->value << 8 >> 16 << 8);
            *(pdata + 2) = (unsigned char)(pobj->value >> 16 << 16);
    
    
            return 0x01;
    };

    тоже писал я. Умрите в мучениях, человеки.
    Упакуем 4 байта согласно протоколу. Похуй маски. Главное сдвигами подрочить.
    Когда господин шаша (мудрый и строгий начальник) сказал что я мудак - сразу поправил всё на маски.

    Запостил: ursus, 23 Апреля 2010

    Комментарии (6) RSS

    • Тут не упакуем 4 байта, а обнулим 3 байта pdata =) Бля, если бы мне в таком кодконвеншене пришлось кодить, я бы бы повесился =) pack_LOF_OBJ, pdata -- чума =)
      Ответить
      • с 4 байтами обшибся - потом заметил.
        не, не обнуляем. валуй то у нас 32 бита. так что нормально всё двигается. но код 100% гавно. а название лоф_обдж - это по стандарту - тут я был бессилен
        Ответить
        • Я может туплю, но например (0x11223344 << 16) = 0x33440000, (unsigned char) (0x33440000) = 0 ну и т.д.
          Ответить
    • Ппппппццц
      Ответить
    • Это был Паша. Довольный, как слон, из-за того, что смог меня напугать.
      Ответить

    Добавить комментарий