50 строки
1.1 KiB
JavaScript
50 строки
1.1 KiB
JavaScript
function _png_create_write_struct_2($user_png_ver, $error_ptr, $error_fn, $warn_fn, $mem_ptr, $malloc_fn, $free_fn) {
|
|
var $png_ptr$s2;
|
|
var label;
|
|
label = 2;
|
|
var setjmpTable = {
|
|
"2": (function(value) {
|
|
label = 5;
|
|
$call1 = value;
|
|
}),
|
|
dummy: 0
|
|
};
|
|
while (1) try {
|
|
switch (label) {
|
|
case 2:
|
|
var $png_ptr;
|
|
var $call = _png_create_struct(1);
|
|
$png_ptr = $call;
|
|
var $call1 = (HEAP32[$png_ptr >> 2] = label, 0);
|
|
label = 5;
|
|
break;
|
|
case 5:
|
|
var $2 = $png_ptr;
|
|
if (($call1 | 0) == 0) {
|
|
label = 4;
|
|
break;
|
|
} else {
|
|
label = 3;
|
|
break;
|
|
}
|
|
case 3:
|
|
var $4 = HEAP32[($png_ptr >> 2) + (148 >> 2)];
|
|
_png_free($2, $4);
|
|
HEAP32[($png_ptr >> 2) + (148 >> 2)] = 0;
|
|
_png_destroy_struct($png_ptr);
|
|
var $retval_0 = 0;
|
|
label = 4;
|
|
break;
|
|
case 4:
|
|
var $retval_0;
|
|
return $retval_0;
|
|
default:
|
|
assert(0, "bad label: " + label);
|
|
}
|
|
} catch (e) {
|
|
if (!e.longjmp) throw e;
|
|
setjmpTable[e.label](e.value);
|
|
}
|
|
}
|
|
|