diff options
author | Evan Lucas <evanlucas@me.com> | 2016-01-05 06:28:27 -0600 |
---|---|---|
committer | Evan Lucas <evanlucas@me.com> | 2016-01-16 13:21:53 -0600 |
commit | da550aa063d00eee33e9c1ac5a6dccec0f4db638 (patch) | |
tree | fb7c27f7938e8b9670454ab694af3494e39b2e48 /lib/internal/repl.js | |
parent | 0ec093cd410b8797b02055a445d650f72fd16796 (diff) | |
download | android-node-v8-da550aa063d00eee33e9c1ac5a6dccec0f4db638.tar.gz android-node-v8-da550aa063d00eee33e9c1ac5a6dccec0f4db638.tar.bz2 android-node-v8-da550aa063d00eee33e9c1ac5a6dccec0f4db638.zip |
repl: make sure historyPath is trimmed
If one were to set NODE_REPL_HISTORY to a string that contains only a
space (" "), then the history file would be created with that name
which can cause problems are certain systems.
PR-URL: https://github.com/nodejs/node/pull/4539
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'lib/internal/repl.js')
-rw-r--r-- | lib/internal/repl.js | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/internal/repl.js b/lib/internal/repl.js index e6b41fbdd8..371446a83b 100644 --- a/lib/internal/repl.js +++ b/lib/internal/repl.js @@ -55,15 +55,26 @@ function createRepl(env, opts, cb) { } const repl = REPL.start(opts); - if (opts.terminal && env.NODE_REPL_HISTORY !== '') { + if (opts.terminal) { return setupHistory(repl, env.NODE_REPL_HISTORY, env.NODE_REPL_HISTORY_FILE, cb); } + repl._historyPrev = _replHistoryMessage; cb(null, repl); } function setupHistory(repl, historyPath, oldHistoryPath, ready) { + // Empty string disables persistent history. + + if (typeof historyPath === 'string') + historyPath = historyPath.trim(); + + if (historyPath === '') { + repl._historyPrev = _replHistoryMessage; + return ready(null, repl); + } + if (!historyPath) { try { historyPath = path.join(os.homedir(), '.node_repl_history'); |