From 8db6db3f1d199123563674862e5333fe5fbb9c00 Mon Sep 17 00:00:00 2001 From: Corredera Romain Date: Fri, 6 Oct 2017 11:52:59 +0200 Subject: [PATCH 1/4] Update ITEM_PATTERN to allow values with empty value. It can happen that registry values are juste used for their names. (For UpgradesCodes for example) --- lib/registry.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/registry.js b/lib/registry.js index e348d6e..2f8fe6c 100644 --- a/lib/registry.js +++ b/lib/registry.js @@ -41,7 +41,7 @@ var util = require('util') , PATH_PATTERN = /^(HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER|HKEY_CLASSES_ROOT|HKEY_USERS|HKEY_CURRENT_CONFIG)(.*)$/ /* registry item pattern */ -, ITEM_PATTERN = /^(.*)\s(REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE)\s+([^\s].*)$/ +, ITEM_PATTERN = /^(.*)\s(REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE)(\s+([^\s].*)){0,1}$/ /** * Creates an Error object that contains the exit code of the REG.EXE process. @@ -484,7 +484,7 @@ Registry.prototype.values = function values (cb) { if (match) { name = match[1].trim(); type = match[2].trim(); - value = match[3]; + value = match[4]; result.push(new RegistryItem(self.host, self.hive, self.key, name, type, value, self.arch)); } } From 927c626be743bda4dcc0433193161510da2eeff8 Mon Sep 17 00:00:00 2001 From: Corredera Romain Date: Fri, 6 Oct 2017 14:21:32 +0200 Subject: [PATCH 2/4] Change match for get function --- lib/registry.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/registry.js b/lib/registry.js index 2f8fe6c..6fa86f7 100644 --- a/lib/registry.js +++ b/lib/registry.js @@ -657,7 +657,7 @@ Registry.prototype.get = function get (name, cb) { if (match) { name = match[1].trim(); type = match[2].trim(); - value = match[3]; + value = match[4]; result = new RegistryItem(self.host, self.hive, self.key, name, type, value, self.arch); } From 68382833b6e529312c810715d26d2b4a44b721c5 Mon Sep 17 00:00:00 2001 From: Corredera Romain Date: Mon, 9 Oct 2017 09:15:26 +0200 Subject: [PATCH 3/4] replace {0,1} with ? --- lib/registry.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/registry.js b/lib/registry.js index 6fa86f7..07fbf94 100644 --- a/lib/registry.js +++ b/lib/registry.js @@ -41,7 +41,7 @@ var util = require('util') , PATH_PATTERN = /^(HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER|HKEY_CLASSES_ROOT|HKEY_USERS|HKEY_CURRENT_CONFIG)(.*)$/ /* registry item pattern */ -, ITEM_PATTERN = /^(.*)\s(REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE)(\s+([^\s].*)){0,1}$/ +, ITEM_PATTERN = /^(.*)\s(REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE)(\s+([^\s].*))?/ /** * Creates an Error object that contains the exit code of the REG.EXE process. From 899e685d12f754d7a75268a2f5087f93fca5cfee Mon Sep 17 00:00:00 2001 From: Corredera Romain Date: Mon, 9 Oct 2017 09:20:22 +0200 Subject: [PATCH 4/4] miss end of the string in the regex --- lib/registry.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/registry.js b/lib/registry.js index 07fbf94..01dd95b 100644 --- a/lib/registry.js +++ b/lib/registry.js @@ -41,7 +41,7 @@ var util = require('util') , PATH_PATTERN = /^(HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER|HKEY_CLASSES_ROOT|HKEY_USERS|HKEY_CURRENT_CONFIG)(.*)$/ /* registry item pattern */ -, ITEM_PATTERN = /^(.*)\s(REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE)(\s+([^\s].*))?/ +, ITEM_PATTERN = /^(.*)\s(REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE)(\s+([^\s].*))?$/ /** * Creates an Error object that contains the exit code of the REG.EXE process.