+ m_aTypes.Add(chLast == '\r' ? Type_Dos : Type_Unix);
+ str.Empty();
+ chLast = '\n';
+ break;
+
+ case '\r':
+ if ( chLast == '\r' ) {
+ // Mac empty line
+ m_aLines.Add("");
+ m_aTypes.Add(Type_Mac);
+ }
+ else
+ chLast = '\r';
+ break;
+
+ default:
+ if ( chLast == '\r' ) {
+ // Mac line termination
+ m_aLines.Add(str);
+ m_aTypes.Add(Type_Mac);
+ str = ch;
+ }
+ else {
+ // add to the current line
+ str += ch;
+ }
+ }