Skip to content

Commit aec5998

Browse files
authored
Merge pull request #251 from warbaby/utf8_name
fix bug when filename or path contains multi-byte characters
2 parents 92023f7 + 82f387e commit aec5998

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

Diff for: util/utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ module.exports = (function() {
199199
if (input.length === 0) {
200200
return Buffer.alloc(0)
201201
}
202-
return Buffer.alloc(input.length, input, 'utf8');
202+
return Buffer.from(input, 'utf8');
203203
}
204204
},
205205

Diff for: zipFile.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,12 @@ module.exports = function (/*String|Buffer*/input, /*Number*/inputType) {
191191
// data header
192192
entry.header.offset = dindex;
193193
var dataHeader = entry.header.dataHeaderToBinary();
194-
var c = entry.entryName + entry.extra.toString();
195-
var postHeader = Buffer.alloc(c.length, c);
194+
var entryNameLen = entry.rawEntryName.length;
195+
var extra = entry.extra.toString();
196+
var postHeader = Buffer.alloc(entryNameLen + extra.length);
197+
entry.rawEntryName.copy(postHeader, 0);
198+
postHeader.fill(extra, entryNameLen);
199+
196200
var dataLength = dataHeader.length + postHeader.length + compressedData.length;
197201

198202
dindex += dataLength;

0 commit comments

Comments
 (0)