Buckets:
| // Copyright 2016 The Emscripten Authors. All rights reserved. | |
| // Emscripten is available under two separate licenses, the MIT license and the | |
| // University of Illinois/NCSA Open Source License. Both these licenses can be | |
| // found in the LICENSE file. | |
| // https://github.com/emscripten-core/emscripten/pull/4705: Test that FS.write() with canOwn=true works. | |
| int main() { | |
| EM_ASM( | |
| var stream = FS.open('testfile', 'w+'); | |
| var data = new Uint8Array(128); | |
| var str = "Hello! "; | |
| stringToUTF8Array(str, data, 0, lengthBytesUTF8(str)+1); | |
| data = data.subarray(0, lengthBytesUTF8(str)); | |
| FS.write(stream, data, 0, lengthBytesUTF8(str), 0, /*canOwn=*/true); | |
| var pos = lengthBytesUTF8(str); | |
| str = '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'; | |
| data = new Uint8Array(str.length+1); | |
| stringToUTF8Array(str, data, 0, lengthBytesUTF8(str)+1); | |
| FS.write(stream, data, 0, lengthBytesUTF8(str)+1, pos, /*canOwn=*/false); | |
| FS.close(stream); | |
| var ex; | |
| try { | |
| FS.write(stream, data, 0, lengthBytesUTF8(str)+1, pos, /*canOwn=*/false); | |
| } catch (err) { | |
| ex = err; | |
| } | |
| assert(ex.name === 'ErrnoError' && ex.errno === 8 /* EBADF */) | |
| ); | |
| FILE* file = fopen("testfile", "r"); | |
| char* line = NULL; | |
| size_t n; | |
| getline(&line, &n, file); | |
| printf("read %s\n", line); | |
| free(line); | |
| return 0; | |
| } | |
Xet Storage Details
- Size:
- 1.46 kB
- Xet hash:
- 5e4feddb9407855beec4482e986e82ffceef50a97334ee2260492317836d2afe
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.