Skip to content

Commit a727357

Browse files
use Shield instead of raw PROTECT/UNPROTECT
1 parent 0b021c9 commit a727357

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

inst/include/Rcpp/api/meat/Vector.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,12 +363,11 @@ namespace Rcpp{
363363
Shield<SEXP> newnames( ::Rf_allocVector( STRSXP, n+1 ) ) ;
364364
int i=0;
365365
if( Rf_isNull(names) ){
366-
SEXP dummy = PROTECT( Rf_mkChar("") );
366+
Shield<SEXP> dummy( Rf_mkChar("") );
367367
for( ; it < this_end; ++it, ++target_it,i++ ){
368368
*target_it = *it ;
369369
SET_STRING_ELT( newnames, i , dummy );
370370
}
371-
UNPROTECT(1);
372371
} else {
373372
for( ; it < this_end; ++it, ++target_it, i++ ){
374373
*target_it = *it ;

inst/include/Rcpp/internal/wrap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ inline SEXP rowmajor_wrap__dispatch( InputIterator first, int nrow, int ncol, ::
811811
SET_VECTOR_ELT( out, j + ncol*i, ::Rcpp::wrap( *first) ) ;
812812
}
813813
}
814-
SEXP dims = PROTECT( ::Rf_allocVector( INTSXP, 2) );
814+
Shield<SEXP> dims( ::Rf_allocVector( INTSXP, 2) );
815815
INTEGER(dims)[0] = nrow;
816816
INTEGER(dims)[1] = ncol;
817817
::Rf_setAttrib( out, R_DimSymbol, dims) ;

0 commit comments

Comments
 (0)