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

Function fxEchoArrayBuffer

xs/sources/xsDebug.c:1271–1321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1269}
1270
1271void fxEchoArrayBuffer(txMachine* the, txSlot* theInstance, txInspectorNameList* theList)
1272{
1273 txSlot* arrayBuffer = theInstance->next;
1274 txSlot* bufferInfo = arrayBuffer->next;
1275 txU1* address = (txU1*)(arrayBuffer->value.arrayBuffer.address);
1276 txInteger size = bufferInfo->value.bufferInfo.length;
1277 txInteger offset = 0, index;
1278 if (size > 1024)
1279 size = 1024;
1280 while (offset < size) {
1281 fxEcho(the, "<property");
1282 fxEchoFlags(the, " ", 0);
1283 fxEcho(the, " name=\"");
1284 fxEchoCharacter(the, c_read8(gxHexaDigits + ((offset >> 12) & 0xF)));
1285 fxEchoCharacter(the, c_read8(gxHexaDigits + ((offset >> 8) & 0xF)));
1286 fxEchoCharacter(the, c_read8(gxHexaDigits + ((offset >> 4) & 0xF)));
1287 fxEchoCharacter(the, c_read8(gxHexaDigits + (offset & 0xF)));
1288 fxEcho(the, "\"");
1289 fxEcho(the, " value=\"");
1290 index = 0;
1291 while (index < 16) {
1292 txByte byte = *address++;
1293 fxEchoCharacter(the, c_read8(gxHexaDigits + ((byte >> 4) & 0xF)));
1294 fxEchoCharacter(the, c_read8(gxHexaDigits + (byte & 0xF)));
1295 fxEcho(the, " ");
1296 index++;
1297 offset++;
1298 if (offset == size)
1299 break;
1300 }
1301 address -= index;
1302 offset -= index;
1303 while (index < 16) {
1304 fxEcho(the, " ");
1305 index++;
1306 }
1307 index = 0;
1308 while (index < 16) {
1309 txByte byte = *address++;
1310 if ((32 <= byte) && (byte < 127))
1311 fxEchoCharacter(the, byte);
1312 else
1313 fxEchoCharacter(the, '.');
1314 index++;
1315 offset++;
1316 if (offset == size)
1317 break;
1318 }
1319 fxEcho(the, " \"/>");
1320 }
1321}
1322
1323void fxEchoBigInt(txMachine* the, txBigInt* bigint)
1324{

Callers 1

fxEchoInstanceFunction · 0.85

Calls 3

fxEchoFunction · 0.85
fxEchoFlagsFunction · 0.85
fxEchoCharacterFunction · 0.85

Tested by

no test coverage detected