From 2c5777d8f6ea30c609dd57bf6e8f4edd7da62fb7 Mon Sep 17 00:00:00 2001 From: Will Eastcott Date: Thu, 26 May 2022 18:34:26 +0100 Subject: [PATCH 1/2] Update substr calls to substring --- src/graphics/program-lib/utils.js | 2 +- src/graphics/shader-input.js | 2 +- src/polyfill/string.js | 5 +++-- src/resources/untar.js | 10 +++++----- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/graphics/program-lib/utils.js b/src/graphics/program-lib/utils.js index 3e770b79d67..313a691dd7a 100644 --- a/src/graphics/program-lib/utils.js +++ b/src/graphics/program-lib/utils.js @@ -42,7 +42,7 @@ function collectAttribs(vsCode) { if (found > 0 && vsCode[found - 1] === "/") break; const endOfLine = vsCode.indexOf(';', found); const startOfAttribName = vsCode.lastIndexOf(' ', endOfLine); - const attribName = vsCode.substr(startOfAttribName + 1, endOfLine - (startOfAttribName + 1)); + const attribName = vsCode.substring(startOfAttribName + 1, endOfLine); const semantic = attrib2Semantic[attribName]; if (semantic !== undefined) { diff --git a/src/graphics/shader-input.js b/src/graphics/shader-input.js index 98393d396ca..f3db786191f 100644 --- a/src/graphics/shader-input.js +++ b/src/graphics/shader-input.js @@ -29,7 +29,7 @@ class ShaderInput { this.version = new Version(); // custom data type for arrays - if (name.substr(name.length - 3) === "[0]") { + if (name.substring(name.length - 3) === "[0]") { switch (type) { case UNIFORMTYPE_FLOAT: type = UNIFORMTYPE_FLOATARRAY; break; case UNIFORMTYPE_VEC2: type = UNIFORMTYPE_VEC2ARRAY; break; diff --git a/src/polyfill/string.js b/src/polyfill/string.js index 3c6b9b016cd..c37e906dcd1 100644 --- a/src/polyfill/string.js +++ b/src/polyfill/string.js @@ -23,6 +23,7 @@ defineProtoFunc(String, 'includes', function(search, start) { }); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith#Polyfill -defineProtoFunc(String, 'startsWith', function(search, pos) { - return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; +defineProtoFunc(String, 'startsWith', function(search, rawPos) { + const pos = rawPos > 0 ? rawPos|0 : 0; + return this.substring(pos, pos + search.length) === search; }); diff --git a/src/resources/untar.js b/src/resources/untar.js index 5273007950b..e1eb181772d 100644 --- a/src/resources/untar.js +++ b/src/resources/untar.js @@ -124,10 +124,10 @@ function UntarScope(isWorker) { const headers = asciiDecoder.decode(headersDataView); this._bytesRead += 512; - let name = headers.substr(0, 100).replace(/\0/g, ''); - const ustarFormat = headers.substr(257, 6); - const size = parseInt(headers.substr(124, 12), 8); - const type = headers.substr(156, 1); + let name = headers.substring(0, 100).replace(/\0/g, ''); + const ustarFormat = headers.substring(257, 263); + const size = parseInt(headers.substring(124, 136), 8); + const type = headers.substring(156, 157); const start = this._bytesRead; let url = null; @@ -171,7 +171,7 @@ function UntarScope(isWorker) { } if (ustarFormat.indexOf('ustar') !== -1) { - const namePrefix = headers.substr(345, 155).replace(/\0/g, ''); + const namePrefix = headers.substring(345, 500).replace(/\0/g, ''); if (namePrefix.length > 0) { name = namePrefix.trim() + name.trim(); From 18bd9b069a364c31e0618e79e0848a29932c1151 Mon Sep 17 00:00:00 2001 From: Will Eastcott Date: Thu, 26 May 2022 18:37:50 +0100 Subject: [PATCH 2/2] const -> var --- src/polyfill/string.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/polyfill/string.js b/src/polyfill/string.js index c37e906dcd1..4e2e19c59c4 100644 --- a/src/polyfill/string.js +++ b/src/polyfill/string.js @@ -24,6 +24,6 @@ defineProtoFunc(String, 'includes', function(search, start) { // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith#Polyfill defineProtoFunc(String, 'startsWith', function(search, rawPos) { - const pos = rawPos > 0 ? rawPos|0 : 0; + var pos = rawPos > 0 ? rawPos|0 : 0; return this.substring(pos, pos + search.length) === search; });