From f5daa7b167665ddc10113f8ea7f104112a36cee1 Mon Sep 17 00:00:00 2001 From: Mathias Buus Date: Thu, 15 Oct 2015 17:53:26 +0200 Subject: [PATCH] trailing / indicates a directory when type is 0. fixes #43 --- headers.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/headers.js b/headers.js index 19c3da3..e168caa 100644 --- a/headers.js +++ b/headers.js @@ -191,7 +191,6 @@ exports.encode = function(opts) { exports.decode = function(buf) { var typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET - var type = toType(typeflag) var name = decodeStr(buf, 0, 100) var mode = decodeOct(buf, 100) @@ -207,6 +206,9 @@ exports.decode = function(buf) { if (buf[345]) name = decodeStr(buf, 345, 155)+'/'+name + // to support old tar versions that use trailing / to indicate dirs + if (typeflag === 0 && name && name[name.length - 1] === '/') typeflag = 5 + var c = cksum(buf) //checksum is still initial value if header was null.