Skip to content

Commit d3552b9

Browse files
committed
src: apply joyee's suggestion
1 parent aabe627 commit d3552b9

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

src/node.cc

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1422,11 +1422,6 @@ bool LoadSnapshotData(const SnapshotData** snapshot_data_ptr) {
14221422
}
14231423

14241424
static ExitCode StartInternal(int argc, char** argv) {
1425-
CHECK_GT(argc, 0);
1426-
1427-
// Hack around with the argv pointer. Used for process.title = "blah".
1428-
argv = uv_setup_args(argc, argv);
1429-
14301425
std::shared_ptr<InitializationResultImpl> result =
14311426
InitializeOncePerProcessInternal(
14321427
std::vector<std::string>(argv, argv + argc));
@@ -1485,8 +1480,22 @@ static ExitCode StartInternal(int argc, char** argv) {
14851480
}
14861481

14871482
int Start(int argc, char** argv) {
1483+
CHECK_GT(argc, 0);
1484+
1485+
// Hack around with the argv pointer. Used for process.title = "blah".
1486+
argv = uv_setup_args(argc, argv);
1487+
14881488
#ifndef DISABLE_SINGLE_EXECUTABLE_APPLICATION
1489-
std::tie(argc, argv) = sea::FixupArgsForSEA(argc, argv);
1489+
char** new_argv = nullptr;
1490+
std::tie(argc, new_argv) = sea::FixupArgsForSEA(argc, argv);
1491+
1492+
#ifdef _WIN32
1493+
if (new_argv != argv) {
1494+
delete[] argv;
1495+
}
1496+
#endif
1497+
1498+
argv = new_argv;
14901499
#endif
14911500
return static_cast<int>(StartInternal(argc, argv));
14921501
}

src/node_sea.cc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,6 @@ std::tuple<int, char**> FixupArgsForSEA(int argc, char** argv) {
271271
new_argv.emplace_back(argv[0]);
272272
new_argv.insert(new_argv.end(), argv, argv + argc);
273273
new_argv.emplace_back(nullptr);
274-
#ifdef _WIN32
275-
delete[] argv;
276-
#endif
277274
argc = new_argv.size() - 1;
278275
argv = new_argv.data();
279276
}

0 commit comments

Comments
 (0)