fix finding end of string table.

This commit is contained in:
Christopher Jeffrey 2013-02-24 18:43:04 -06:00
parent 1bd2a71946
commit d89f9845ab
1 changed files with 13 additions and 1 deletions

View File

@ -295,6 +295,7 @@ Tput.prototype.parseExtended = function(data, _data, _h, _i) {
i = data.length - h.lastStrTableOffset; i = data.length - h.lastStrTableOffset;
// String Table // String Table
var high = 0;
_strings.forEach(function(offset, k) { _strings.forEach(function(offset, k) {
if (offset === -1) { if (offset === -1) {
_strings[k] = ''; _strings[k] = '';
@ -311,13 +312,24 @@ Tput.prototype.parseExtended = function(data, _data, _h, _i) {
return; return;
} }
// Find out where the string table ends by
// getting the highest string length.
if (high < j - i) {
high = j - i;
}
_strings[k] = data.toString('ascii', s, j); _strings[k] = data.toString('ascii', s, j);
}); });
// Symbol Table // Symbol Table
i = h.lastStrTableOffset - 68; // Add one to the highest string length because we didn't count \0.
i += high + 1;
l = data.length; l = data.length;
console.log(data.slice(i - 1 - 10, i - 1 + 10));
console.log(i);
process.exit(0);
var sym = [] var sym = []
, j = 0; , j = 0;