Show
Ignore:
Timestamp:
08/26/08 08:21:20 PM (4 months ago)
Author:
octorian
Message:

Fix for errors on unexpected ordering of BODYSTRUCTURE reply. (#97)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/LogicMail-1.0/LogicMail/src/org/logicprobe/LogicMail/mail/imap/ImapParser.java

    r274 r278  
    260260        } 
    261261 
     262        // Find the BODYSTRUCTURE portion of the reply 
     263        Vector parsedStruct = null; 
     264        int size = parsedText.size(); 
     265        for(int i=0; i<size; i++) { 
     266            if(parsedText.elementAt(i) instanceof String) { 
     267                String label = (String)parsedText.elementAt(i); 
     268                if(label.equalsIgnoreCase("BODYSTRUCTURE") && i < size - 1 && parsedText.elementAt(i+1) instanceof Vector) { 
     269                    parsedStruct = (Vector)parsedText.elementAt(i+1); 
     270                } 
     271            } 
     272        } 
     273         
    262274        // Sanity checking 
    263         if(parsedText.size() < 2 || 
    264            !(parsedText.elementAt(1) instanceof Vector)) { 
     275        if(parsedStruct == null) { 
    265276           EventLogger.logEvent( 
    266277               AppInfo.GUID, 
     
    270281        } 
    271282         
    272         Vector parsedStruct = (Vector)parsedText.elementAt(1); 
    273283        MessageSection msgStructure = parseMessageStructureHelper(null, 1, parsedStruct); 
    274284        fixMessageStructure(msgStructure);