Skip to content

Commit

Permalink
src: use std::string for trace enabled_categories
Browse files Browse the repository at this point in the history
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: #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>
  • Loading branch information
sam-github authored and addaleax committed Apr 9, 2017
1 parent 2d3d4cc commit 809ca2f
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
5 changes: 3 additions & 2 deletions src/tracing/agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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_);
Expand All @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/tracing/agent.h
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit 809ca2f

Please sign in to comment.