MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxArgToByteLength

Function fxArgToByteLength

xs/sources/xsDataView.c:371–392  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

369}
370
371txInteger fxArgToByteLength(txMachine* the, txInteger argi, txInteger length)
372{
373 txSlot *arg = mxArgv(argi);
374 if ((mxArgc > argi) && (arg->kind != XS_UNDEFINED_KIND)) {
375 txNumber value;
376 if (XS_INTEGER_KIND == arg->kind) {
377 txInteger value = arg->value.integer;
378 if (value < 0)
379 mxRangeError("byteLength < 0");
380 return value;
381 }
382 value = c_trunc(fxToNumber(the, arg));
383 if (c_isnan(value))
384 return 0;
385 if (value < 0)
386 mxRangeError("byteLength < 0");
387 if (0x7FFFFFFF < value)
388 mxRangeError("byteLength too big");
389 return (txInteger)value;
390 }
391 return length;
392}
393
394txS8 fxArgToSafeByteLength(txMachine* the, txInteger argi, txInteger length)
395{

Callers 10

fx_DataViewFunction · 0.85
fx_TypedArrayFunction · 0.85

Calls 1

fxToNumberFunction · 0.85

Tested by

no test coverage detected