Explorar o código

accept MS-DOS end-of-line characters

David Rose %!s(int64=22) %!d(string=hai) anos
pai
achega
1e0d35082d
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      panda/src/chancfg/chanparse.cxx

+ 4 - 1
panda/src/chancfg/chanparse.cxx

@@ -23,7 +23,7 @@ const int ChanFileEOF = -1;
 
 static bool file_done;
 
-INLINE std::string ChanReadLine(istream& is) {
+std::string ChanReadLine(istream& is) {
   if (is.eof() || is.fail())
 #ifdef BROKEN_EXCEPTIONS
     {
@@ -43,6 +43,9 @@ INLINE std::string ChanReadLine(istream& is) {
   i = S.find_first_of(";");
   if (i != std::string::npos)
     S.erase(i, std::string::npos);  // remove trailing comment
+  i = S.find_last_not_of(" \t\f\r\n");
+  if (i != std::string::npos)
+    S.erase(i + 1, std::string::npos);  // remove trailing whitespace
   return S;
 }