Changeset 1393


Ignore:
Timestamp:
09/09/09 11:58:37 (15 years ago)
Author:
rodsouza
Message:

Ticket #611 - Alterada a busca de chaves utilizada no 'unserialize'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/contactcenter/js/ccAux.js

    r119 r1393  
    217217        { 
    218218                var nOpen, nClose = iniPos; 
    219                  
    220                 do  
     219                var startIn = nClose + 1; 
     220 
     221                do 
    221222                { 
    222                         nOpen = str.indexOf('{', nClose+1); 
    223                         nClose = str.indexOf('}', nClose+1); 
     223                        startIn = nClose + 1; 
     224                        do 
     225                        { 
     226                                nOpen = str.indexOf( '{', startIn ); 
     227                                var escapeEndIn = str.indexOf( '";', nOpen + 1 ); 
     228                                var escapeBeginIn = str.indexOf( ':"', nOpen + 1 ); 
     229                                if ( escapeEndIn < escapeBeginIn ) 
     230                                        startIn = nOpen + 1; 
     231                        } 
     232                        while ( escapeEndIn < escapeBeginIn ); 
     233 
     234                        startIn = nClose + 1; 
     235                        do 
     236                        { 
     237                                nClose = str.indexOf( '}', startIn ); 
     238                                var escapeEndIn = str.indexOf( '";', nClose + 1 ); 
     239                                var escapeBeginIn = str.indexOf( ':"', nClose + 1 ); 
     240                                if ( escapeEndIn < escapeBeginIn ) 
     241                                        startIn = nClose + 1; 
     242                        } 
     243                        while ( escapeEndIn < escapeBeginIn ); 
    224244 
    225245                        if (nOpen == -1) 
     
    227247                                return nClose; 
    228248                        } 
    229                          
     249 
    230250                        if (nOpen < nClose ) 
    231251                        { 
    232252                                nClose = matchBracket(str, nOpen); 
    233253                        } 
    234                          
     254 
    235255                } while (nOpen < nClose); 
    236256 
Note: See TracChangeset for help on using the changeset viewer.