2018-08-09 02:58:39 +02:00
/*************************************************************************/
2020-05-08 16:55:01 +02:00
/* utils.js */
2018-08-09 02:58:39 +02:00
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
2020-01-29 02:48:10 +01:00
/* https://godotengine.org */
2018-08-09 02:58:39 +02:00
/*************************************************************************/
2020-01-29 02:48:10 +01:00
/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */
2018-08-09 02:58:39 +02:00
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
2020-05-08 16:55:01 +02:00
Module [ 'copyToFS' ] = function ( path , buffer ) {
var p = path . lastIndexOf ( "/" ) ;
var dir = "/" ;
if ( p > 0 ) {
dir = path . slice ( 0 , path . lastIndexOf ( "/" ) ) ;
2018-08-09 02:58:39 +02:00
}
2020-05-08 16:55:01 +02:00
try {
FS . stat ( dir ) ;
} catch ( e ) {
if ( e . errno !== ERRNO _CODES . ENOENT ) { // 'ENOENT', see https://github.com/emscripten-core/emscripten/blob/master/system/lib/libc/musl/arch/emscripten/bits/errno.h
throw e ;
}
FS . mkdirTree ( dir ) ;
2018-08-09 02:58:39 +02:00
}
2020-05-08 16:55:01 +02:00
// With memory growth, canOwn should be false.
FS . writeFile ( path , new Uint8Array ( buffer ) , { 'flags' : 'wx+' } ) ;
}
2018-08-09 02:58:39 +02:00