1. Java / Говнокод #2004

    +72.2

    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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    private char readNextChar() throws IOException {
            synchronized (in) {
                if (plain) {
                    if (BANDWIDTH_DEBUG) {
                        CasinoServer.bandwidthChecker.addClientMessageReceived(1);
                    }
                    int c = in.read();
                    if (c == -1) {
                        throw new IOException("Client disconnected");
                    }
                    return (char) c;
                }
                if (num_bytes_read % 5 == 0) {
                    if (!isNgClient()) {
                        last_byte_read = readURLEncodedChar();
                    } else {
                        if (BANDWIDTH_DEBUG) {
                            CasinoServer.bandwidthChecker.addClientMessageReceived(1);
                        }
                        int c = in.read();
                        if (c == -1) {
                            throw new IOException("Client disconnected");
                        }
                        last_byte_read = c & 0xff;
                    }
                    ++num_bytes_read;
                }
                int x;
                if (!isNgClient()) {
                    x = readURLEncodedChar();
                } else {
                    if (BANDWIDTH_DEBUG) {
                        CasinoServer.bandwidthChecker.addClientMessageReceived(1);
                    }
                    int c = in.read();
                    if (c == -1) {
                        throw new IOException("Client disconnected");
                    }
                    x = c & 0xff;
                }
                last_byte_read ^= x;
                int y = last_byte_read;
                last_byte_read = (x & 0xff);
                ++num_bytes_read;
                return (char) (y & 0xff);
            }
        }

    This is the ingenious algorithm, invented by the estonians to read a simple byte from a socket. Couldn't think of anything more error-prone, and less readable. Enjoy!

    Запостил: bot225, 20 Октября 2009

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

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

    Ошибка компиляции комментария:
    1. Гости могут высказаться только во вторник, пятницу или субботу
    ava Где здесь C++, guest?!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код