src: move ParseArrayIndex() to src/node_buffer.cc · nodejs/node@6ae2043

Original file line numberDiff line numberDiff line change

@@ -193,6 +193,25 @@ void CallbackInfo::WeakCallback(Isolate* isolate) {

193193

}

194194
195195
196+

// Parse index for external array data.

197+

inline MUST_USE_RESULT bool ParseArrayIndex(Local<Value> arg,

198+

size_t def,

199+

size_t* ret) {

200+

if (arg->IsUndefined()) {

201+

*ret = def;

202+

return true;

203+

}

204+
205+

int64_t tmp_i = arg->IntegerValue();

206+
207+

if (tmp_i < 0)

208+

return false;

209+
210+

*ret = static_cast<size_t>(tmp_i);

211+

return true;

212+

}

213+
214+
196215

// Buffer methods

197216
198217

bool HasInstance(Local<Value> val) {