diff --git a/CHANGELOG.md b/CHANGELOG.md index bd325ce..48505f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -99,6 +99,7 @@ Other changes | Version | Date | Comment | | -------------- | -------------- | -------- | +| 3.33.6 | 2017-11-16 | bugfix diskLayout().size | | 3.33.5 | 2017-11-09 | code cleanup | | 3.33.4 | 2017-11-09 | bugfix graphics controller win (bytes) | | 3.33.3 | 2017-11-08 | bugfix cpu speed arm - type | diff --git a/lib/filesystem.js b/lib/filesystem.js index f189159..a1c2653 100644 --- a/lib/filesystem.js +++ b/lib/filesystem.js @@ -583,13 +583,14 @@ function diskLayout(callback) { } catch (e) { } - const size = util.getValue(lines, 'size', ':', true).trim(); - if (size && lines.length > 0 && lines[0].trim() === 'disk') { + const sizeString = util.getValue(lines, 'size', ':', true).trim(); + const sizeValue = sizeString.match(/\(([^)]+)\)/)[1]; + if (sizeString && lines.length > 0 && lines[0].trim() === 'disk') { result.push({ type: (mediumType === '0' ? 'SSD' : (mediumType === '1' ? 'HD' : (device.indexOf('SSD') > -1 ? 'SSD' : 'HD'))), // to be tested ... /sys/block/sda/queue/rotational name: util.getValue(lines, 'product:', ':', true), vendor: util.getValue(lines, 'vendor:', ':', true), - size: parseInt(size.match(/\(([^)]+)\)/)[1]) * 1000 * 1000 * 1000 * 1000, + size: parseInt(sizeValue, 10) * 1000 * 1000 * 1000 * (sizeValue.indexOf('T') >= 0 ? 1000 : 1), bytesPerSector: -1, totalCylinders: -1, totalHeads: -1,