summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Roberts <vieuxtech@gmail.com>2017-04-05 12:09:32 -0700
committerAnna Henningsen <anna@addaleax.net>2017-04-09 17:35:06 +0200
commit809ca2ff8f345d33d1bb56630eba22c33b51fc0f (patch)
tree2b8f00a694fab4dc427597dc0083666c59e23fd4 /src
parent2d3d4ccb985a2cd36ce7df0da5b8c1cb1a8c933a (diff)
downloadandroid-node-v8-809ca2ff8f345d33d1bb56630eba22c33b51fc0f.tar.gz
android-node-v8-809ca2ff8f345d33d1bb56630eba22c33b51fc0f.tar.bz2
android-node-v8-809ca2ff8f345d33d1bb56630eba22c33b51fc0f.zip
src: use std::string for trace enabled_categories
A std::string manages its own memory, so using one removes the implicit assumption that the argv vector passed to node will never be deallocated. Also, the enabled_categories are used to construct a std::stringstream, so its simpler to use the standard library consistently. PR-URL: https://github.com/nodejs/node/pull/12242 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/node.cc2
-rw-r--r--src/tracing/agent.cc5
-rw-r--r--src/tracing/agent.h2
3 files changed, 5 insertions, 4 deletions
diff --git a/src/node.cc b/src/node.cc
index e63026b8f4..619939d74d 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -173,7 +173,7 @@ static node_module* modlist_builtin;
static node_module* modlist_linked;
static node_module* modlist_addon;
static bool trace_enabled = false;
-static const char* trace_enabled_categories = nullptr;
+static std::string trace_enabled_categories; // NOLINT(runtime/string)
#if defined(NODE_HAVE_I18N_SUPPORT)
// Path to ICU data (for i18n / Intl)
diff --git a/src/tracing/agent.cc b/src/tracing/agent.cc
index ceab09e5a2..669bae130c 100644
--- a/src/tracing/agent.cc
+++ b/src/tracing/agent.cc
@@ -10,10 +10,11 @@ namespace node {
namespace tracing {
using v8::platform::tracing::TraceConfig;
+using std::string;
Agent::Agent() {}
-void Agent::Start(v8::Platform* platform, const char* enabled_categories) {
+void Agent::Start(v8::Platform* platform, const string& enabled_categories) {
platform_ = platform;
int err = uv_loop_init(&tracing_loop_);
@@ -26,7 +27,7 @@ void Agent::Start(v8::Platform* platform, const char* enabled_categories) {
tracing_controller_ = new TracingController();
TraceConfig* trace_config = new TraceConfig();
- if (enabled_categories) {
+ if (!enabled_categories.empty()) {
std::stringstream category_list(enabled_categories);
while (category_list.good()) {
std::string category;
diff --git a/src/tracing/agent.h b/src/tracing/agent.h
index f6cb5af97f..2174d5b896 100644
--- a/src/tracing/agent.h
+++ b/src/tracing/agent.h
@@ -12,7 +12,7 @@ namespace tracing {
class Agent {
public:
explicit Agent();
- void Start(v8::Platform* platform, const char* enabled_categories);
+ void Start(v8::Platform* platform, const std::string& enabled_categories);
void Stop();
private: