Changeset 498 for trunk/thune/thune.c

Show
Ignore:
Timestamp:
11/14/07 17:18:50 (12 months ago)
Author:
krobillard
Message:

Fixed bug in reverse 'iter when series had one element.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/thune.c

    r497 r498  
    609609 
    610610                case OP_ITER:           // (series blk -- ) 
    611                     if( ur_is(UR_TOS, UT_BLOCK) ) 
     611                    if( ur_is(UR_TOS, UT_BLOCK) && 
     612                        (ur_itLen( ut, ur_s_prev(UR_TOS) ) > 0) ) 
    612613                    { 
    613614                        int skip = ur_sel(val); 
    614615                        if( skip == 0 ) 
    615616                            skip = 1; 
    616                         if( skip > 0 ) 
    617                         { 
    618                             if( ur_itLen( ut, ur_s_prev(UR_TOS) ) < 1 ) 
    619                                 goto no_iter; 
    620                         } 
    621                         else 
    622                         { 
    623                             if( ur_s_prev(UR_TOS)->series.it < 1 ) 
    624                                 goto no_iter; 
    625                         } 
    626617                        PUSHC_EVAL( blkN, start, pc ); 
    627618                        SET_BLK_PC( UR_TOS->series.n, 
     
    634625                    else 
    635626                    { 
    636 no_iter: 
    637627                        UR_S_DROPN(2); 
    638628                    }