Привет всем :)
В настоящее время я использую preon для проекта в свободное время и столкнулся со следующей проблемой: я пытаюсь прочитать строку фиксированной длины со следующим кодом:
@Bound int string_size;
@ByteAlign @BoundString(size = "string_size") my_string;
Спецификация файла ожидает заполнения переменной, так что смещение следующего блока кратно 4.
Например, если string_size = 5, то будут добавлены 3 нулевых байта и так далее. Сначала я думал, что аннотация @ByteAlign делает именно это, однако, изучая исходный код, я понял, что это не так.
Я попытался сделать это быстрое исправление:
@If ("string_size % 4 == 2") @BoundList(size = "2", type = Byte.class) byte[] padding;
К сожалению, Limbo, похоже, не поддерживает оператор "%". Есть ли способ обойти это?
(Кроме того, где / как я могу получить последнюю версию?)
Заранее спасибо.