@@ -2044,7 +2044,9 @@ def _write_pages(self):
20442044 self ._io .add_child_stream (_io__raw__m_pages )
20452045 _pos2 = self ._io .pos ()
20462046 self ._io .seek (self ._io .pos () + (((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size )))
2047- def handler (parent , _io__raw__m_pages = _io__raw__m_pages ):
2047+ # NOTE early binding of i
2048+ # https://github.com/kaitai-io/kaitai_struct/issues/1246
2049+ def handler (parent , _io__raw__m_pages = _io__raw__m_pages , i = i ):
20482050 self ._raw__m_pages .append (_io__raw__m_pages .to_byte_array ())
20492051 if (len (self ._raw__m_pages [(len (self ._raw__m_pages ) - 1 )]) != ((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size )):
20502052 raise kaitaistruct .ConsistencyError (u"raw(pages)" , len (self ._raw__m_pages [(len (self ._raw__m_pages ) - 1 )]), ((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size ))
@@ -2057,7 +2059,8 @@ def handler(parent, _io__raw__m_pages=_io__raw__m_pages):
20572059 self ._io .add_child_stream (_io__raw__m_pages )
20582060 _pos2 = self ._io .pos ()
20592061 self ._io .seek (self ._io .pos () + (((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size )))
2060- def handler (parent , _io__raw__m_pages = _io__raw__m_pages ):
2062+ # NOTE early binding of i
2063+ def handler (parent , _io__raw__m_pages = _io__raw__m_pages , i = i ):
20612064 self ._raw__m_pages .append (_io__raw__m_pages .to_byte_array ())
20622065 if (len (self ._raw__m_pages [(len (self ._raw__m_pages ) - 1 )]) != ((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size )):
20632066 raise kaitaistruct .ConsistencyError (u"raw(pages)" , len (self ._raw__m_pages [(len (self ._raw__m_pages ) - 1 )]), ((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size ))
@@ -2070,7 +2073,8 @@ def handler(parent, _io__raw__m_pages=_io__raw__m_pages):
20702073 self ._io .add_child_stream (_io__raw__m_pages )
20712074 _pos2 = self ._io .pos ()
20722075 self ._io .seek (self ._io .pos () + (((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size )))
2073- def handler (parent , _io__raw__m_pages = _io__raw__m_pages ):
2076+ # NOTE early binding of i
2077+ def handler (parent , _io__raw__m_pages = _io__raw__m_pages , i = i ):
20742078 self ._raw__m_pages .append (_io__raw__m_pages .to_byte_array ())
20752079 if (len (self ._raw__m_pages [(len (self ._raw__m_pages ) - 1 )]) != ((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size )):
20762080 raise kaitaistruct .ConsistencyError (u"raw(pages)" , len (self ._raw__m_pages [(len (self ._raw__m_pages ) - 1 )]), ((self .header .page_size - 100 ) if (i == 0 ) else self .header .page_size ))
0 commit comments