1. Pascal / Говнокод #794

    −107.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    w := ord(CHar(Pbyte(Pointer(Integer(IN_BUFFER)+ inpos))^));
    s := ord(Char(Pbyte(Pointer(Integer(IN_BUFFER)+ inpos + 1))^));
    PByte(Pointer(Integer(out_buf)+ outpos))^ := w and 255;        {?????? ?? ?????? ??????}
    PByte(Pointer(Integer(out_buf)+ outpos + 1))^ := w shr 8;
     PByte(Pointer(Integer(out_buf)+ outpos))^ := PByte(Pointer(Integer(out_buf)+ outpos))^ or ((W and 15) shl 4);

    доступ к указателям как к массивам

    Запостил: guest, 31 Марта 2009

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

    • чо, норм код, ёба...
      капча негодуе... 3532
      Ответить
    • объясните непросвещенному, нах это надо?
      Ответить
      • запрет на арифметику с указателями + строгая типизация
        Ответить
        • Только попробуйте после этого сказать, что Си говно...
          Ответить
          • пффф, это решаемо не убиранием типизации

            и не объявлением указателей абсолютным злом, при виде которого надо бежать в интернеты и постить дебильные вопросы, начинающиеся с help me i'm noob :-D

            type TByteArray = array[0..MaxInt div SizeOf(Byte)];
            type PByteArray = ^TByteArray;
            ...
            x := PByteArray(IN_BUFFER)^[42] * u - y; { вот и всё }
            Ответить
            • >div SizeOf(Byte)
              лолЧто?
              Ответить
              • не хардкодить же волшебные размеры :-D
                Ответить
                • Надо div 10
                  Ответить
                  • опять магия же
                    а так если
                    type Byte = QWord;   { ВОЙНА! }

                    всё равно будет собираться и работать :-Р
                    Ответить
                    • В дельфи так можно? Однажды, я пойму, что этот язык не должен был появится на свет...
                      Ответить
                      • это ж пасКАЛь, а нормальные языки не могут содержать в названии слово кал
                        Ответить

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