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

    +53

    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
    void ServerList::ParseServers(char *response, int len){
            numservers = 0;
         
            int i;
            QHostAddress srvadr;
            const char *info = "\xFF\xFF\xFF\xFFgetinfo\x00";
            for(i = 23; i < len; i+=7){
                quint16 port = (((* (quint8 *)(response + i + 4)) << 8) | (* (quint8 *)(response + i + 5)));
                quint32 addr = (((* (quint8 *)(response + i)) << 24)|((* (quint8 *)(response + i + 1)) << 16)|((* (quint8 *)(response + i + 2)) << 8)|(* (quint8 *)(response + i + 3))); //XD
                srvadr.setAddress(addr);
                qDebug() << srvadr << " : " << port;
                  if(getinfo->writeDatagram(info, 15, srvadr, port) <0 ){
                   qDebug() << "FAILED";
                  }
                  numservers++;
             }
            serverlist->setRowCount(numservers);
            qDebug() << numservers;
        }

    Пздц.

    Запостил: gost, 04 Апреля 2015

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

    • >quint
      QПетушки переопределяют stdint.h.
      Ответить
      • Петушки не кладут stdint.h с компилятором и библиотекой, аналогичная история с qmath.h и M_PI в math.h.
        Ответить
      • Кутишка появилась раньше, чем stdint.h и inttypes.h. И раньше, чем вменяемые компиляторы и стандартные либы. Поэтому там такая куча костылей и изоленты.

        P.S. А в вижуалку stdint уже завезли?
        Ответить
        • Завезли.
          Ответить
        • Да даже если нет, то уж это-то скачать в тырнете для своей мсвс2003 можно.
          Ответить
          • Ну да, можно, например, патчик, прибавляющий к версии десять годков.
            Ответить

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