→

Говнокод →  Говнокод в Миранде

Вот такая вот реализация функции получения длины номерка UIN в Миранде.

\miranda\miranda\protocols\IcqOscarJ\icq_packet.c, line 206

int __fastcall getUINLen(DWORD dwUin)
{ // TODO: invent something more clever
  if (dwUin >= 1000000000) return 10;
  if (dwUin >= 100000000) return 9;
  if (dwUin >= 10000000) return 8;
  if (dwUin >= 1000000) return 7;
  if (dwUin >= 100000) return 6;
  if (dwUin >= 10000) return 5;
  if (dwUin >= 1000) return 4;
  if (dwUin >= 100) return 3;
  if (dwUin >= 10) return 2;
  return 1;
}


А как бы вы реализовали такую функцию?
2
4