Hi sasha :
Попытался я тут вкурить что ты сказал чтобы Карлосу сообщить и не понял что ты предлагаешь проверять.
Это не то что ты подумал.
Если ты имел ввиду метод
     public static int VaxInteger(byte[] buffer, int index, int length)
Это метод которое читает число, используется для того точбу не завить от BigEndian процессоров.
1) Чё это за хитрое выражение (buffer[index++] & 0xff). Здесь ведь массив байт. Получается что (buffer[index++] & 0xff) всегда равен просто buffer[index++]?
Не всегда так.
byte byteValue=-1;
int value=byteValue0xff;
в итоге мы получим value==255ж, это хитрый хот для перевода signed byte в unsigned byte;

   while ((type = buffer[pos++]) != IscCodes.isc_info_end)

Вот это ты правильно нашел надо это заменить на

while (pos<buffer.lengh&&[(type = buffer[pos++]) != IscCodes.isc_info_end)

WBR Evgeny Putilin.

Ответить