diff --git a/helpers/scanner/parsers/plist.js b/helpers/scanner/parsers/plist.js index 9286c5a..85fb501 100644 --- a/helpers/scanner/parsers/plist.js +++ b/helpers/scanner/parsers/plist.js @@ -1,6 +1,6 @@ // Adpapted for browser+node from https://github.com/joeferner/node-bplist-parser/blob/master/bplistParser.js import plainTextPlist from 'plist' -import bufferApi from 'buffer' +import { Buffer } from 'buffer/' // const fs = require('fs'); @@ -38,7 +38,7 @@ export function parsePlistBuffer ( fileBuffer , callback) { return tryParseBuffer( fileBuffer ) - // if (bufferApi.Buffer.isBuffer(fileNameOrBuffer)) { + // if (Buffer.isBuffer(fileNameOrBuffer)) { // } // fs.readFile(fileNameOrBuffer, function(err, data) { @@ -52,7 +52,7 @@ export function parsePlistBuffer ( fileBuffer , callback) { }; export function parseFileSync (fileNameOrBuffer) { - // if (!bufferApi.Buffer.isBuffer(fileNameOrBuffer)) { + // if (!Buffer.isBuffer(fileNameOrBuffer)) { // fileNameOrBuffer = fs.readFileSync(fileNameOrBuffer); // } return parseBuffer(fileNameOrBuffer); @@ -62,6 +62,8 @@ function parseBuffer ( buffer ) { // check header const header = buffer.slice(0, 'bplist'.length).toString('utf8'); + + const isPlainTextPlist = header.includes(' to get byte length multiply by 2, as 1 character takes 2 bytes in UTF-16 length *= (isUtf16 + 1); if (length < maxObjectSize) { - let plistString = bufferApi.Buffer.from(buffer.slice(offset + stroffset, offset + stroffset + length)); + let plistString = Buffer.from(buffer.slice(offset + stroffset, offset + stroffset + length)); if (isUtf16) { plistString = swapBytes(plistString); enc = "ucs2";