@@ -36,12 +36,12 @@ class data_frame : public list {
36
36
return R_NilValue;
37
37
}
38
38
39
- static int calc_nrow (SEXP x) {
39
+ static R_xlen_t calc_nrow (SEXP x) {
40
40
auto nms = get_attrib0 (x, R_RowNamesSymbol);
41
41
bool has_short_rownames =
42
42
(Rf_isInteger (nms) && Rf_xlength (nms) == 2 && INTEGER (nms)[0 ] == NA_INTEGER);
43
43
if (has_short_rownames) {
44
- return abs (INTEGER (nms)[1 ]);
44
+ return static_cast <R_xlen_t>( abs (INTEGER (nms)[1 ]) );
45
45
}
46
46
47
47
if (!Rf_isNull (nms)) {
@@ -70,8 +70,8 @@ class data_frame : public cpp11::data_frame {
70
70
return set_data_frame_attributes (std::move (x), calc_nrow (x));
71
71
}
72
72
73
- writable::list set_data_frame_attributes (writable::list&& x, int nrow) {
74
- x.attr (R_RowNamesSymbol) = {NA_INTEGER, -nrow};
73
+ writable::list set_data_frame_attributes (writable::list&& x, R_xlen_t nrow) {
74
+ x.attr (R_RowNamesSymbol) = {NA_INTEGER, -static_cast < int >( nrow) };
75
75
x.attr (R_ClassSymbol) = " data.frame" ;
76
76
return std::move (x);
77
77
}
@@ -80,7 +80,7 @@ class data_frame : public cpp11::data_frame {
80
80
data_frame (const SEXP data) : cpp11::data_frame(set_data_frame_attributes(data)) {}
81
81
data_frame (const SEXP data, bool is_altrep)
82
82
: cpp11::data_frame(set_data_frame_attributes(data), is_altrep) {}
83
- data_frame (const SEXP data, bool is_altrep, int nrow)
83
+ data_frame (const SEXP data, bool is_altrep, R_xlen_t nrow)
84
84
: cpp11::data_frame(set_data_frame_attributes(data, nrow), is_altrep) {}
85
85
data_frame (std::initializer_list<list> il)
86
86
: cpp11::data_frame(set_data_frame_attributes(writable::list(il))) {}
0 commit comments