| 876 | } |
| 877 | |
| 878 | txInteger fxGetDataViewSize(txMachine* the, txSlot* view, txSlot* buffer) |
| 879 | { |
| 880 | txInteger size = view->value.dataView.size; |
| 881 | txSlot* arrayBuffer = buffer->value.reference->next; |
| 882 | txSlot* bufferInfo = arrayBuffer->next; |
| 883 | if (arrayBuffer->value.arrayBuffer.address == C_NULL) |
| 884 | return 0; |
| 885 | if (bufferInfo->value.bufferInfo.maxLength >= 0) { |
| 886 | txInteger offset = view->value.dataView.offset; |
| 887 | txInteger byteLength = bufferInfo->value.bufferInfo.length; |
| 888 | if (offset > byteLength) |
| 889 | size = 0; |
| 890 | else if (size < 0) |
| 891 | size = byteLength - offset; |
| 892 | else if (offset + size > byteLength) |
| 893 | size = 0; |
| 894 | } |
| 895 | return size; |
| 896 | } |
| 897 | |
| 898 | txBoolean fxIsDataViewOutOfBound(txMachine* the, txSlot* view, txSlot* buffer) |
| 899 | { |
no outgoing calls
no test coverage detected