@@ -390,7 +390,6 @@ SyncProcessRunner::SyncProcessRunner(Environment* env)
390390
391391 stdio_count_(0 ),
392392 uv_stdio_containers_(nullptr ),
393- stdio_pipes_(nullptr ),
394393 stdio_pipes_initialized_(false ),
395394
396395 uv_process_options_(),
@@ -421,7 +420,7 @@ SyncProcessRunner::SyncProcessRunner(Environment* env)
421420SyncProcessRunner::~SyncProcessRunner () {
422421 CHECK_EQ (lifecycle_, kHandlesClosed );
423422
424- stdio_pipes_.reset ();
423+ stdio_pipes_.clear ();
425424 delete[] file_buffer_;
426425 delete[] args_buffer_;
427426 delete[] cwd_buffer_;
@@ -500,10 +499,9 @@ Maybe<bool> SyncProcessRunner::TryInitializeAndRunLoop(Local<Value> options) {
500499 }
501500 uv_process_.data = this ;
502501
503- for (uint32_t i = 0 ; i < stdio_count_; i++) {
504- SyncProcessStdioPipe* h = stdio_pipes_[i].get ();
505- if (h != nullptr ) {
506- r = h->Start ();
502+ for (const auto & pipe : stdio_pipes_) {
503+ if (pipe != nullptr ) {
504+ r = pipe->Start ();
507505 if (r < 0 ) {
508506 SetPipeError (r);
509507 return Just (false );
@@ -563,12 +561,12 @@ void SyncProcessRunner::CloseStdioPipes() {
563561 CHECK_LT (lifecycle_, kHandlesClosed );
564562
565563 if (stdio_pipes_initialized_) {
566- CHECK (stdio_pipes_);
564+ CHECK (! stdio_pipes_. empty () );
567565 CHECK_NOT_NULL (uv_loop_);
568566
569- for (uint32_t i = 0 ; i < stdio_count_; i++ ) {
570- if (stdio_pipes_[i] )
571- stdio_pipes_[i] ->Close ();
567+ for (const auto & pipe : stdio_pipes_ ) {
568+ if (pipe )
569+ pipe ->Close ();
572570 }
573571
574572 stdio_pipes_initialized_ = false ;
@@ -723,13 +721,13 @@ Local<Object> SyncProcessRunner::BuildResultObject() {
723721
724722Local<Array> SyncProcessRunner::BuildOutputArray () {
725723 CHECK_GE (lifecycle_, kInitialized );
726- CHECK (stdio_pipes_);
724+ CHECK (! stdio_pipes_. empty () );
727725
728726 EscapableHandleScope scope (env ()->isolate ());
729727 Local<Context> context = env ()->context ();
730728 Local<Array> js_output = Array::New (env ()->isolate (), stdio_count_);
731729
732- for (uint32_t i = 0 ; i < stdio_count_ ; i++) {
730+ for (uint32_t i = 0 ; i < stdio_pipes_. size () ; i++) {
733731 SyncProcessStdioPipe* h = stdio_pipes_[i].get ();
734732 if (h != nullptr && h->writable ())
735733 js_output->Set (context, i, h->GetOutputAsBuffer (env ())).FromJust ();
@@ -857,8 +855,8 @@ int SyncProcessRunner::ParseStdioOptions(Local<Value> js_value) {
857855 stdio_count_ = js_stdio_options->Length ();
858856 uv_stdio_containers_ = new uv_stdio_container_t [stdio_count_];
859857
860- stdio_pipes_.reset (
861- new std::unique_ptr<SyncProcessStdioPipe>[stdio_count_]() );
858+ stdio_pipes_.clear ();
859+ stdio_pipes_. resize (stdio_count_ );
862860 stdio_pipes_initialized_ = true ;
863861
864862 for (uint32_t i = 0 ; i < stdio_count_; i++) {
0 commit comments