diff --git a/utils/pas2js/dist/rtl.js b/utils/pas2js/dist/rtl.js index 0e05ab6e43..e8f3685702 100644 --- a/utils/pas2js/dist/rtl.js +++ b/utils/pas2js/dist/rtl.js @@ -838,17 +838,23 @@ var rtl = { var item = null; var a = null; var src = arr; - var oldlen = 0; + var srclen = 0, oldlen = 0; do{ if (depth>0){ item=stack[depth-1]; src = (item.src && item.src.length>item.i)?item.src[item.i]:null; } - if (!src || src.$pas2jsrefcnt>0){ + if (!src){ a = []; - oldlen = src?src.length:0; + srclen = 0; + oldlen = 0; + } else if (src.$pas2jsrefcnt>0){ + a = []; + srclen = src.length; + oldlen = srclen; } else { a = src; + srclen = 0; oldlen = a.length; } a.length = stack[depth].dim; @@ -864,18 +870,22 @@ var rtl = { depth++; } else { if (rtl.isArray(defaultvalue)){ - for (var i=0; i0) && (stack[depth-1].i>=stack[depth-1].dim)){ depth--;