Няшная / Говнокод #6646 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
while ( strlen ( &ParseSMS[pos] ) != 0 )
{
    Byte0 = HexToByte(&ParseSMS[pos]);
    pos += 2;

    pSMS->sms[txt_counter] = Byte0;
    txt_counter ++;
}

достались исходнички. Человек не знает, как работает strlen
а буфер то на 140 байт !

Запостил: megajohn megajohn, (Updated )

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

  • запостил на одном форуме, говорято что все нормально. Вот пошло же поколение программистов Висты

    в общем. кто не в курсе работы strlen даю подсказку:
    за первое выполние strlen сделает проверку 140 байт
    за второе - 138 байт
    за третье - 136 байт

    в итоге в массиве на 140 байт будет 4970 проверок этих самых байт !
    Ответить
        • Это была ирония. Но трудновато будет убедить «поколение Висты», что код, тормозящий аж на несколько микросекунд — это ужас-ужас. 😉
          Ответить
    • а причем тут виста?

      таки дело не в strlen, а в asciiz строках
      Ответить
      • При том, что это на PDP-11 глупость такого кода очевидна была бы сразу.
        Ответить
  • В Windows есть скрытая игра — трюки на мотоцикле. У неё нет названия, её нельзя найти ни в какой папке, но есть способ её запустить. Что для этого нужно?
    Открываем Пуск » Выполнить...
    Вводим в поле cmd и нажимаем OK.
    В появившемся окне вводим assoc.
    Пока будет выводиться информация, набираем «вслепую» format C:, нажимаем Enter, затем Y, затем снова Enter.
    Наслаждаемся игрой!
    Ответить
  • Подобное использование 'strlen' - довольно избитая и поднадоевшая говноплюшка. Я бы скорее обратил внимание на то, что произойдет, если длина исходной строки вдруг окажется нечетной (полагая, что это не было проверено заранее).
    Ответить
  • ЖUOLLYPANBTHZIMSWYCAIBQQHPYXQJJSRBGHJJSIFDMCMKLSGWGRVCSVSRFNIMOUMBOADLWRRHNTASKLGPNOHZ
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8