@@ -1857,8 +1857,7 @@ void cmd_intN(long funcCode, var_t *r) {
18571857 //
18581858 if (code_peek () == kwTYPE_VAR ) {
18591859 var_p = code_getvarptr ();
1860- if (var_p -> type == V_ARRAY ) {
1861-
1860+ if (!prog_error && var_p -> type == V_ARRAY ) {
18621861 l = 1 ;
18631862 if (code_peek () == kwTYPE_SEP ) {
18641863 par_getcomma ();
@@ -1892,9 +1891,8 @@ void cmd_intN(long funcCode, var_t *r) {
18921891 // int <- UBOUND(array [, dim])
18931892 //
18941893 if (code_peek () == kwTYPE_VAR ) {
1895- code_skipnext ();
1896- var_p = tvar [code_getaddr ()];
1897- if (var_p -> type == V_ARRAY ) {
1894+ var_p = code_getvarptr ();
1895+ if (!prog_error && var_p -> type == V_ARRAY ) {
18981896 l = 1 ;
18991897 if (code_peek () == kwTYPE_SEP ) {
19001898 par_getcomma ();
@@ -2556,7 +2554,7 @@ void cmd_genfunc(long funcCode, var_t *r) {
25562554 ofs = prog_ip ;
25572555 if (code_isvar ()) {
25582556 var_t * basevar_p = code_getvarptr ();
2559- if (basevar_p -> type == V_ARRAY ) {
2557+ if (! prog_error && basevar_p -> type == V_ARRAY ) {
25602558 count = v_asize (basevar_p );
25612559 for (int i = 0 ; i < count ; i ++ ) {
25622560 var_t * elem_p = v_getelemptr (basevar_p , i );
@@ -2626,7 +2624,7 @@ void cmd_genfunc(long funcCode, var_t *r) {
26262624 ofs = prog_ip ;
26272625 if (code_isvar ()) {
26282626 var_t * basevar_p = code_getvarptr ();
2629- if (basevar_p -> type == V_ARRAY ) {
2627+ if (! prog_error && basevar_p -> type == V_ARRAY ) {
26302628 count = v_asize (basevar_p );
26312629 for (int i = 0 ; i < count ; i ++ ) {
26322630 var_t * elem_p = v_getelemptr (basevar_p , i );
0 commit comments