@@ -34,6 +34,12 @@ var WK_ = /*#__PURE__*/ (function() {
3434 var refguess = { s : { r :0 , c :0 } , e : { r :0 , c :0 } } ;
3535 var sheetRows = o . sheetRows || 0 ;
3636
37+ if ( d [ 2 ] == 0x00 ) {
38+ if ( d [ 3 ] == 0x08 || d [ 3 ] == 0x09 ) {
39+ if ( d . length >= 16 && d [ 14 ] == 0x05 && d [ 15 ] === 0x6c ) throw new Error ( "Unsupported Works 3 for Mac file" ) ;
40+ }
41+ }
42+
3743 if ( d [ 2 ] == 0x02 ) {
3844 o . Enum = WK1Enum ;
3945 lotushopper ( d , function ( val , R , RT ) { switch ( RT ) {
@@ -126,7 +132,8 @@ var WK_ = /*#__PURE__*/ (function() {
126132
127133 write_biff_rec ( ba , 0x00 , write_BOF_WK1 ( 0x0406 ) ) ;
128134 write_biff_rec ( ba , 0x06 , write_RANGE ( range ) ) ;
129- for ( var R = range . s . r ; R <= range . e . r ; ++ R ) {
135+ var max_R = Math . min ( range . e . r , 8191 ) ;
136+ for ( var R = range . s . r ; R <= max_R ; ++ R ) {
130137 var rr = encode_row ( R ) ;
131138 for ( var C = range . s . c ; C <= range . e . c ; ++ C ) {
132139 if ( R === range . s . r ) cols [ C ] = encode_col ( C ) ;
@@ -165,7 +172,8 @@ var WK_ = /*#__PURE__*/ (function() {
165172 var range = safe_decode_range ( ws [ "!ref" ] ) ;
166173 var dense = Array . isArray ( ws ) ;
167174 var cols = [ ] ;
168- for ( var R = range . s . r ; R <= range . e . r ; ++ R ) {
175+ var max_R = Math . min ( range . e . r , 8191 ) ;
176+ for ( var R = range . s . r ; R <= max_R ; ++ R ) {
169177 var rr = encode_row ( R ) ;
170178 for ( var C = range . s . c ; C <= range . e . c ; ++ C ) {
171179 if ( R === range . s . r ) cols [ C ] = encode_col ( C ) ;
@@ -211,6 +219,7 @@ var WK_ = /*#__PURE__*/ (function() {
211219 if ( rows < range . e . r ) rows = range . e . r ;
212220 if ( cols < range . e . c ) cols = range . e . c ;
213221 }
222+ if ( rows > 8191 ) rows = 8191 ;
214223 out . write_shift ( 2 , rows ) ;
215224 out . write_shift ( 1 , wscnt ) ;
216225 out . write_shift ( 1 , cols ) ;
0 commit comments