From 554d300413610b916c77b8985a87fedd12ac1722 Mon Sep 17 00:00:00 2001 From: Israel Fraga Date: Sat, 1 Aug 2020 21:02:42 -0400 Subject: [PATCH] Fixed logic error in `book_append_sheet` --- bits/95_api.js | 4 ++-- xlsx.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bits/95_api.js b/bits/95_api.js index 7eef6ff..37d5400 100644 --- a/bits/95_api.js +++ b/bits/95_api.js @@ -42,8 +42,8 @@ utils.book_new = function()/*:Workbook*/ { /* add a worksheet to the end of a given workbook */ utils.book_append_sheet = function(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/) { - if(!name) for(var i = 1; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; - if(!name) throw new Error("Too many worksheets"); + if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; + if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); check_ws_name(name); if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); diff --git a/xlsx.js b/xlsx.js index 19ed5d2..2046497 100644 --- a/xlsx.js +++ b/xlsx.js @@ -21462,7 +21462,7 @@ utils.book_new = function() { /* add a worksheet to the end of a given workbook */ utils.book_append_sheet = function(wb, ws, name) { - if(!name) for(var i = 1; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; + if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; if(!name) throw new Error("Too many worksheets"); check_ws_name(name); if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!");