(heapOrArray, idx, maxBytesToRead)
| 1062 | var noExitRuntime = Module['noExitRuntime'] || true; |
| 1063 | var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; |
| 1064 | var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { |
| 1065 | var endIdx = idx + maxBytesToRead; |
| 1066 | var endPtr = idx; |
| 1067 | while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; |
| 1068 | if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { |
| 1069 | return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); |
| 1070 | } |
| 1071 | var str = ''; |
| 1072 | while (idx < endPtr) { |
| 1073 | var u0 = heapOrArray[idx++]; |
| 1074 | if (!(u0 & 128)) { |
| 1075 | str += String.fromCharCode(u0); |
| 1076 | continue; |
| 1077 | } |
| 1078 | var u1 = heapOrArray[idx++] & 63; |
| 1079 | if ((u0 & 224) == 192) { |
| 1080 | str += String.fromCharCode(((u0 & 31) << 6) | u1); |
| 1081 | continue; |
| 1082 | } |
| 1083 | var u2 = heapOrArray[idx++] & 63; |
| 1084 | if ((u0 & 240) == 224) { |
| 1085 | u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; |
| 1086 | } else { |
| 1087 | u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); |
| 1088 | } |
| 1089 | if (u0 < 65536) { |
| 1090 | str += String.fromCharCode(u0); |
| 1091 | } else { |
| 1092 | var ch = u0 - 65536; |
| 1093 | str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); |
| 1094 | } |
| 1095 | } |
| 1096 | return str; |
| 1097 | }; |
| 1098 | var UTF8ToString = (ptr, maxBytesToRead) => |
| 1099 | ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; |
| 1100 | var ___assert_fail = (condition, filename, line, func) => { |
no outgoing calls
no test coverage detected