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

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //глубоко в коде
    char output[1024];
    
    //еще глубже
    struct sockaddr_in outputa;
    
    //...
    
    if(sendto(s, output, 512, 0, (struct sockaddr *) &output, rsize) == SOCKET_ERROR) {
        printf("Socket error: %i.\n", WSAGetLastError());
    }

    Долго-же я думал, почему оно вываливается с ошибкой 10047.

    Запостил: danilissimus, 12 Марта 2011

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

    • Имена переменным надо давать нормальные
      Ответить
      • А ещё здесь размеры буфера данных (массив output) и размер выхода в сокет разный (1024 против 512), но на фоне кривых названий переменных это фигня :)
        Ответить
        • Там просто передается одна структура, размер которой еще меньше, чем даже 512.
          Ответить
          • Ай-ай-ай! Байты надо экономить!
            Ответить
            • это же не какаято публичная утилита, я написал чисто для себя.
              да и фактически оно занимает совсем немного. а вот всякие подгружаемые виндой в рантайме библиотеки (winsock) занимают дофига.
              Ответить
        • меньше - не страшно.
          Ответить
    • > //глубоко в коде
      > //еще глубже
      
      // дас ист фантастишь
      Ответить
    • еще глубже?
      хих) а программу на модули разбивать пробовали?
      Ответить

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