Was fürn Datentyp ist denn write_int (sollte ein SINT sein) und offset := offset + 3 kommt mir auch komisch vor (du schreibst doch nur ein Byte rein, oder?).