Modify stream library to support reading until a null byte

This commit is contained in:
n1073645 2022-06-09 10:12:19 +01:00
parent 64eae37788
commit d3de91de85
2 changed files with 5 additions and 6 deletions

View File

@ -48,12 +48,14 @@ export default class Stream {
* Interpret the following bytes as a string, stopping at the next null byte or
* the supplied limit.
*
* @param {number} numBytes
* @param {number} [numBytes=-1]
* @returns {string}
*/
readString(numBytes) {
readString(numBytes=-1) {
if (this.position > this.length) return undefined;
if (numBytes === -1) numBytes = this.length - this.position;
let result = "";
for (let i = this.position; i < this.position + numBytes; i++) {
const currentByte = this.bytes[i];

View File

@ -66,10 +66,7 @@ class ELFInfo extends Operation {
const preMove = stream.position;
stream.moveTo(namesOffset + nameOffset);
let nameResult = "";
let elem = 0;
while ((elem = stream.readInt(1, endianness)) !== 0)
nameResult += String.fromCharCode(elem);
let nameResult = stream.readString();
stream.moveTo(preMove);
return nameResult;
}