Changeset 9067

Show
Ignore:
Timestamp:
10/27/08 18:11:01 (5 years ago)
Author:
robert
Message:

Merged in comment split code from the old flt plugin so that FLT comments string with returns
in them are put into separate description entries.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgPlugins/OpenFlight/AncillaryRecords.cpp

    r8563 r9067  
    4545        { 
    4646            std::streamsize size = in.getRecordSize(); 
    47             std::string comment = in.readString(size-4); 
    48  
    49             if (_parent.valid()) 
    50                 _parent->setComment(comment); 
     47            std::string commentfield = in.readString(size-4); 
     48 
     49            if (_parent.valid()) 
     50            { 
     51#if 0             
     52                _parent->setComment(commentfield); 
     53#else 
     54                unsigned int front_of_line = 0; 
     55                unsigned int end_of_line = 0; 
     56                while (end_of_line<commentfield.size()) 
     57                { 
     58                    if (commentfield[end_of_line]=='\r') 
     59                    { 
     60                        _parent->setComment( std::string( commentfield, front_of_line, end_of_line-front_of_line) ); 
     61 
     62                        if (end_of_line+1<commentfield.size() && 
     63                            commentfield[end_of_line+1]=='\n') ++end_of_line; 
     64 
     65                        ++end_of_line; 
     66                        front_of_line = end_of_line; 
     67                    } 
     68                    else if (commentfield[end_of_line]=='\n') 
     69                    { 
     70                        _parent->setComment( std::string( commentfield, front_of_line, end_of_line-front_of_line) ); 
     71                        ++end_of_line; 
     72                        front_of_line = end_of_line; 
     73                    } 
     74                    else ++end_of_line; 
     75                } 
     76                if (front_of_line<end_of_line) 
     77                { 
     78                    _parent->setComment( std::string( commentfield, front_of_line, end_of_line-front_of_line) ); 
     79                } 
     80 
     81            } 
     82#endif 
     83 
    5184        } 
    5285};