Changeset 475

Show
Ignore:
Timestamp:
09/08/07 04:52:24 (12 months ago)
Author:
krobillard
Message:

append.cat now uses slice end.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/series.c

    r469 r475  
    12781278        case UT_BLOCK: 
    12791279        case UT_PAREN: 
    1280             if( ur_isABlock(tos) ) 
    1281             { 
    1282                 UBlock* s1 = ur_block(ser); 
    1283                 UBlock* s2 = ur_block(tos); 
    1284                 int used = s1->used; 
    1285                 int srcLen = s2->used - tos->series.it; 
    1286  
    1287                 ur_arrayReserve( s1, sizeof(UCell), used + srcLen ); 
    1288  
    1289                 ur_copyCells( s2->ptr.cells + tos->series.it, 
    1290                               s2->ptr.cells + s2->used, 
    1291                               s1->ptr.cells + s1->used ); 
    1292                 s1->used += srcLen; 
     1280        { 
     1281            UCell* ca; 
     1282            UCell* cb; 
     1283            if( ur_blockSlice( ut, tos, &ca, &cb ) ) 
     1284            { 
     1285                if( ca != cb ) 
     1286                { 
     1287                    UBlock* s1 = ur_block(ser); 
     1288                    int srcLen = cb - ca; 
     1289 
     1290                    ur_arrayReserve( s1, sizeof(UCell), s1->used + srcLen ); 
     1291                    ur_copyCells( ca, cb, s1->ptr.cells + s1->used ); 
     1292                    s1->used += srcLen; 
     1293                } 
    12931294                goto done; 
    12941295            } 
     1296        } 
    12951297            break; 
    12961298    }